Cod sursa(job #1314402)
Utilizator | Data | 11 ianuarie 2015 20:18:31 | |
---|---|---|---|
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()
{
cin>>n>>x>>y>>m;
long long sol=0;
for(int i=1;i<=n;i++)
{
cin>>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]];
}
cout<<sol;
return 0;
}