Pagini recente » Cod sursa (job #2066768) | Borderou de evaluare (job #2666318) | Cod sursa (job #1835260) | Borderou de evaluare (job #1569471) | Cod sursa (job #1762207)
#include <fstream>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
long long nra[500001],nrb[500001],v[500001];
int main()
{
int n,a,b,k,i,s=0;
long long rez=0;
nra[0]=1;
in>>n>>k>>a>>b;
for(i=1;i<=n;i++)
{
in>>v[i];
s=(s+v[i])%k;
rez+=nra[s]-nrb[s];
if(i>=a)
nra[v[i-a]]++;
if(i>b)
nrb[v[i-b]]++;
}
out<<rez;
return 0;
}