Pagini recente » Cod sursa (job #1046912) | Monitorul de evaluare | Cod sursa (job #2553858) | Cod sursa (job #3218419) | Cod sursa (job #3316948)
#include <bits/stdc++.h>
using namespace std;
#define MAX_N 500001
#define MAX_K 100001
int s[MAX_N], f[MAX_K];
int main(){
ifstream cin( "divk.in" );
ofstream cout( "divk.out" );
int n, i, ans, x, a, b, k;
cin >> n >> k >> a >> b;
for( i = 1; i <= n; i++ ){
cin >> x;
s[i] = s[i - 1] + x;
s[i] %= k;
}
for( i = a; i <= b; i++ ){
f[s[i]]++;
}
ans = 0;
for( i = 1; i <= n; i++ ){
ans += f[s[i]];
if( i + a - 1 <= n )
f[s[i + a - 1]]--;
if( i + b <= n )
f[s[i + b]]++;
}
// 1 2 3 4 5 6 7 8 9 10
cout << ans;
return 0;
}