Cod sursa(job #1559444)
Utilizator | Data | 30 decembrie 2015 19:53:03 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.39 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
long v[500008],f[100008];
int main()
{ long long a,i,b,k,n,ans=0;
in>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{in>>v[i]; v[i]=(v[i-1]+v[i])%k;}
for(i=a;i<=n;i++)
{ f[v[i-a]]++;
if(i>b)
f[v[i-b-1]]--;
ans+=f[v[i]];
}
out<<ans;
return 0;
}