Cod sursa(job #1122876)
Utilizator | Data | 25 februarie 2014 21:04:15 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.41 kb |
#include <fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
int n,k,a,b,i,s[500001],x,sol[500001];
long long nrt;
int main()
{
f>>n>>k>>a>>b;
for(i=1;i<=n;i++)
f>>x,s[i]=(s[i-1]+x)%k;
for (i=1;i<=n;i++)
{
if (i>=a)
sol[s[i-a]]++;
if (i>b)
sol[s[i-b-1]]--;
nrt+=sol[s[i]];
}
g<<nrt;
return 0;
}