Cod sursa(job #2462691)
Utilizator | Vlad Haivas vladth11 | Data | 27 septembrie 2019 18:53:03 |
---|---|---|---|
Problema | Divk | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
#define whatis(x) cerr << #x << " " << x << "\n";
using namespace std;
long long a,b;
int f[100001];
long long s[500001];
int main()
{
ifstream cin("divk.in");
ofstream cout("divk.out");
int i,n,k,x,cnt = 0;
cin >> n >> k >> a >> b;
for(i = 1;i <= n;i++){
cin >> x;
s[i] += x;
s[i] %= k;
if(i >= a){
f[s[i - a]]++;
}
if(i > b){
f[s[i - b - 1]]--;
}
cnt += f[s[i]];
}
cout <<cnt;
return 0;
}