Cod sursa(job #1314408)
Utilizator | Data | 11 ianuarie 2015 20:21:27 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.37 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
int a[500005],s[100005],n,x,y,m;
int main()
{
in>>n>>m>>x>>y;
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;
}