Cod sursa(job #538247)
Utilizator | Data | 20 februarie 2011 22:20:51 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.38 kb |
#include <fstream>
using namespace std;
int s[500001],v[500001],a,b,n,k,x;
ifstream in("divk.in");
ofstream out("divk.out");
void rez()
{
long long nr=0;
in>>n>>k>>a>>b;
for(int i=1;i<=n;++i)
{
in>>x;
s[i]=(s[i-1]+x)%k;
if(i-b-1>=0)
--v[s[i-b-1]];
if(i-a>=0)
++v[s[i-a]];
nr+=v[s[i]];
}
out<<nr;
}
int main()
{
rez();
return 0;
}