Mai intai trebuie sa te autentifici.
Cod sursa(job #1460868)
Utilizator | 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;
}