Halloween Candies (halloween) 85/100

Salve a tutti ho provato a risolvere il problema Halloween Candies con questo algoritmo:

#include <bits/stdc++.h>
#define MAXN 100000

int N, i, sum;
int C[MAXN];
long long int M;


int solve(){
    
    sum = M % sum;
    if(sum == 0) 
        return N - 1;
    
    for(i = 0; i < N; ++i){
        sum -= C[i];
        if(sum <= 0){
            break;
        }
    }
    return i;
  
}

int main() {

    freopen("input.txt", "r", stdin);

    assert(2 == scanf("%d %lld", &N, &M));
    for(i = 0; i < N; i++){
        assert(1 == scanf("%d", &C[i]));
        sum += C[i];
    }

    printf("%d\n", solve());
    return 0;
}

Sfortunatamente non riesco a passare il subtask 022 (Output non corretto). Qualche consiglio?

parli di Candies
o di Halloween?

Halloween

ho dato un’occhiata, il codice è giusto ma fai attenzione alla dichiarazione delle variabili…
soluzione: Dichiara ‘sum’ come un long long int, dato che in caso di numeri più grandi con int va in overflow

Che errore stupido… e grazie per l’aiuto!

1 Mi Piace

Figurati!