Cod sursa(job #2637091)
Utilizator | Cristi Cretu etohirse | Data | 21 iulie 2020 11:11:30 |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.36 kb |
#include <fstream>
using namespace std;
#define int long long
ifstream cin("divk.in");
ofstream cout("divk.out");
const int mxN=5e5+50;
int n, k, a, b, ans, v[mxN], f[mxN/5];
int32_t main(){
cin >> n >> k >> a >> b;
for(int i=1; i<=n; ++i){
int x; cin >> x;
v[i]=(v[i-1]+x)%k;
if(i-a>=0) ++f[v[i-a]];
if(i-b>0) --f[v[i-b-1]];
ans+=f[v[i]];
}
cout << ans;
}