Cod sursa(job #2462706)
Utilizator | Vlad Haivas vladth11 | Data | 27 septembrie 2019 18:57:30 |
---|---|---|---|
Problema | Divk | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <bits/stdc++.h>
#define whatis(x) cerr << #x << " " << x << "\n";
using namespace std;
int a,b;
int f[100001];
int 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] = s[i - 1];
s[i] += 1LL * x;
s[i] %= k;
if(i >= a){
f[s[i - a]]++;
}
if(i > b){
f[s[i - b - 1]]--;
}
cnt += 1LL * f[s[i]];
}
cout <<cnt;
return 0;
}