Pagini recente » Diferente pentru algoritmiada-2011 intre reviziile 14 si 11 | Diferente pentru documentatie/textile intre reviziile 37 si 107 | Cod sursa (job #1130411) | Cod sursa (job #1170162) | Cod sursa (job #2560538)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
int n,a,b,k,ap[100001],s[500001],x,sum;
int main()
{f>>n>>k>>a>>b;
for(int i=1;i<=n;i++)
{f>>x;
s[i]=(s[i-1]+x)%k;
if(i>=a)ap[s[i-a]]++;
if(i>b) ap[s[i-b-1]]--;
sum+=ap[s[i]];
}
g<<sum<<'\n';
return 0;
}