Pagini recente » Cod sursa (job #1259284) | Cod sursa (job #2455130) | Cod sursa (job #984154) | Cod sursa (job #1020271) | Cod sursa (job #2650566)
#include <bits/stdc++.h>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
int sp[500005];
int f[100005];
int main()
{
int n, k, a, b; in >> n >> k >> a >> b;
for(int i = 0; i < n; i++)
in >> sp[i];
sp[0] %= k;
for(int i = 1; i < n; i++)
sp[i] = (sp[i-1] + sp[i]) % k;
/*for(int i = 0; i < n; i++)
cout << sp[i] << " " ;
cout << endl;*/
long long nr_secv = 0;
for(int i = 0; i < n; i++)
{
if(i - a + 1 >= 0) f[sp[i - a + 1]]++;
if(i - b >= 0) f[sp[i - b]]--;
/*for(int j = 0; j < k; j++)
cout << f[j] << " ";
cout << endl;
cout << sp[i] << endl;*/
nr_secv += f[(k + sp[i])%k];
}
out << nr_secv;
}