Cod sursa(job #1692416)
Utilizator | Data | 20 aprilie 2016 20:19:33 | |
---|---|---|---|
Problema | Divk | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream fi("divk.in");
ofstream fo("divk.out");
long long rez;
int n,k,a,b,i,x,A[500001],Ap[500001];
int main()
{
fi>>n>>k>>a>>b;
for(i=1; i<=n; i++)
{
fi>>x;
A[i]=(A[i-1]+x)%k;
if(i>=a)
{
Ap[A[i-a]]++;
}
if(i>b)
{
Ap[A[i-b-1]]++;
}
rez+=Ap[A[i]];
}
fo<<rez<<"\n";
fi.close();
fo.close();
return 0;
}