Pagini recente » Cod sursa (job #3230745) | Cod sursa (job #1093432) | Cod sursa (job #2192738) | Cod sursa (job #1548048) | Cod sursa (job #2925543)
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 5e5;
ifstream fin( "divk.in" );
ofstream fout( "divk.out" );
map<int, int> rest;
int sp[MAXN+1];
int main() {
int n, k, a, b, i, x;
long long sum;
fin >> n >> k >> a >> b;
for( i = 1; i <= n; i++ ) {
fin >> x;
sp[i] = ( sp[i-1] + x ) % k;
}
sum = 0;
for( i = a; i <= n; i++ ) {
rest[sp[i-a]]++;
if( i - b > 0 )
rest[sp[i-b-1]]--;
sum += rest[sp[i]];
}
fout << sum;
return 0;
}