Cod sursa(job #1704309)
Utilizator | Data | 18 mai 2016 16:26:26 | |
---|---|---|---|
Problema | Divk | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <bits/stdc++.h>
#define NMax 500005
#define ll long long
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
ll n,k,x,y,a,ANS;
ll v[NMax],sum[NMax];
int main()
{
f >> n >> k >> x >> y;
for(int i = 1; i <= n; ++i){
f >> a;
sum[i] = (sum[i - 1] + a) % k;
if(i >= x)
v[sum[i - x]] ++;
if(i > y)
v[sum[i - y - 1]]--;
ANS += v[sum[i]];
}
g << ANS << '\n';
return 0;
}