Cod sursa(job #1314403)
Utilizator | Data | 11 ianuarie 2015 20:19:38 | |
---|---|---|---|
Problema | Divk | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.38 kb |
#include <bits/stdc++.h>
#define MX 500002
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
int a[MX],s[MX],n,x,y,m;
int main()
{
in>>n>>x>>y>>m;
long long sol=0;
for(int i=1;i<=n;i++)
{
in>>a[i];
a[i]=(a[i-1]+a[i])%m;
if(i>=x)s[a[i-x]]++;
if(i>y)s[a[i-y-1]]--;
sol+=s[a[i]];
}
out<<sol;
return 0;
}