Pagini recente » Cod sursa (job #66366) | Borderou de evaluare (job #2699535) | Borderou de evaluare (job #2604838) | Borderou de evaluare (job #15755) | Cod sursa (job #2810101)
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
const int nmax=500000;
int r[nmax+5],f[nmax+5];
int main()
{
int n,a,b,k,i,x;
long long s=0;
fin>>n>>k>>a>>b;
for(i=1;i<=n;++i){
fin>>x;
r[i]=(r[i-1]+x)%k;
if(i>=a){
++f[r[i-a]];
}
if(i>b){
--f[r[i-b-1]];
}
s+=f[r[i]];
}
fout<<s;
return 0;
}