Cod sursa(job #935670)

Utilizator Sanduleac_VladSanduleac Vllad Alexandru Sanduleac_Vlad Data 4 aprilie 2013 13:29:53
Problema Divk Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <cstdio>
using namespace std;

long N, K, A, B, nr;
long modd[100001];
long v[500001];

int main() {
    long i, j, crt;
    freopen("divk.in", "r", stdin);
    freopen("divk.out", "w", stdout);
    v[0] = 0;
    scanf("%ld %ld %ld %ld", &N, &K, &A, &B);
    A--;
    B--;
    for(i = 1; i <= N; i++) {
        if(i >= A)
            modd[v[i - A]]++;
        if(i > B)
            modd[v[i - B - 1]]--;
        scanf("%ld", &crt);
        v[i] = (crt + v[i - 1]) % K;
        nr += modd[v[i]];
    }
    printf("%ld", nr);
    return 0;
}