Pagini recente » Cod sursa (job #1085559) | Cod sursa (job #2061767) | Cod sursa (job #3317389) | Diferente pentru problema/s2c intre reviziile 8 si 9 | Cod sursa (job #3313977)
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream fin ("divk.in");
ofstream fout ("divk.out");
int v[500005];
int s[500005];
int fr[500005];
signed main()
{
int n,k,a,b;
fin >> n >> k >> a >> b;
for (int i=1;i<=n;++i){
fin >> v[i];
s[i] = s[i-1]+v[i];
s[i] = s[i]%k;
}
int ans = 0;
for (int i=1;i<=n;++i){
int j1 = i-a+1;
int j2 = i-b-1;
//cout << j2 << ' ' << j1 << " | ";
if (j1>=0) fr[s[j1]]++;
if (j2>=0) fr[s[j2]]--;
ans += fr[s[i]];
//cout << fr[s[i]] << '\n';
}
fout << ans;
return 0;
}