Pagini recente » Cod sursa (job #228084) | Monitorul de evaluare | Rating Antonio Nitoi (4N70N1U5) | Istoria paginii runda/pregatire2021_3/clasament | Cod sursa (job #1609744)
#include <cstdio>
#include <iostream>
#include <vector>
#include <queue>
#include <utility>
#include <algorithm>
#include <functional>
#include <string>
#include <cstring>
#include <cmath>
#include <map>
#include <set>
#include <bitset>
#include <stack>
#include <iomanip>
#define MOD 1000000007
#define NMAX 500005
#define INF 0x3f3f3f3f
using namespace std;
FILE *fin = freopen("divk.in", "r", stdin);
FILE *fout = freopen("divk.out", "w", stdout);
typedef pair<int, int> pii;
int sp[NMAX], fr[NMAX];
int main() {
int n, a, b, k, i;
long long sum = 0;
scanf("%d%d%d%d", &n, &k, &a, &b);
for (i = 1; i <= n; ++i) {
scanf("%d", &sp[i]);
sp[i] = (sp[i] + sp[i - 1]) % k;
if (i >= a)
++fr[sp[i - a]];
if (i > b)
--fr[sp[i - b - 1]];
sum += 1LL*fr[sp[i]];
}
cout << sum;
return 0;
}