Cod sursa(job #1974923)
| Utilizator | Data | 29 aprilie 2017 14:14:06 | |
|---|---|---|---|
| Problema | Divk | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <cstdio>
using namespace std;
long long a,b,k,n,s,i,v[500201],t[500201];
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%lld%lld%lld%lld",&n,&k,&a,&b);
for(i=1;i<=n;++i)
{
scanf("%lld",&v[i]);
v[i]=(v[i-1]+v[i])%k;
}
for(i=a;i<=n;++i)
{
++t[v[i-a]];
if(i>b) --t[v[i-b-1]];
s+=t[v[i]];
}
printf("%lld",s);
return 0;
}
