Cod sursa(job #1673578)

Utilizator alexandra_paticaAndreea Alexandra Patica alexandra_patica Data 3 aprilie 2016 22:46:56
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <cstdio>
using namespace std;
FILE *f, *g;
long long n, k, a, b, i, x, m, j, r, t[100001];
long long s[500001], S;
int main ()
{
    freopen("divk.in", "r", stdin);
    freopen("divk.out", "w", stdout);
    scanf("%d%d%d%d", &n, &k, &a, &b);
    m=0;
    for (i=1; i<=n; i++){
            scanf("%d", &x);
        s[i]=(s[i-1]+x)%k;
        if (i>=a){
            t[s[i-a]]++;
            m=m+t[s[i]];
            if (i>=b) t[s[i-b]]--;
        }
    }
    printf("%lld", m);
    return 0;
}