Cod sursa(job #3314234)
| Utilizator | Data | 9 octombrie 2025 01:39:36 | |
|---|---|---|---|
| Problema | Divk | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <bits/stdc++.h>
using namespace std;
int sp[500001], fr[100001];
int main()
{
#ifndef LOCAL
ifstream cin("divk.in");
ofstream cout("divk.out");
#endif
int N, K, A, B;
cin >> N >> K >> A >> B;
for(int i = 1; i <= N; ++i) {
int nr;
cin >> nr;
sp[i] = (sp[i-1] + nr) % K;
}
int nrSiruri = 0;
for(int i = A; i <= N; ++i) {
if(i > B) --fr[sp[i-B-1]];
++fr[sp[i-A]];
nrSiruri += fr[sp[i]];
}
cout << nrSiruri;
return 0;
}