Pagini recente » Autentificare | Rezultatele filtrării | Diferente pentru problema/camionas intre reviziile 1 si 2 | Borderou de evaluare (job #131538) | 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;
}