Mai intai trebuie sa te autentifici.

Cod sursa(job #1460868)

Utilizator tiby10Tibi P tiby10 Data 14 iulie 2015 11:20:56
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
//divk
#include<bits/stdc++.h>
#define debug cerr<<"ok";
#define MAXN 500010
using namespace std;

int n,k,a,b,i,j,S[MAXN],cnt[MAXN/5];

int main ()
{
    freopen("divk.in","r",stdin);
    freopen("divk.out","w",stdout);
    scanf("%d%d%d%d",&n,&k,&a,&b);
    for(i=1;i<=n;i++)
        scanf("%d",&S[i]), S[i]= (S[i]+S[i-1])%k;
    int64_t rez=0;
    for(i=a;i<=n;i++){
        cnt[S[i-a]]++;
        if (i>b)
            cnt[S[i-b-1]]--;
        rez+=cnt[S[i]];
    }
    printf("%lld",rez);
    return 0;
}