Cod sursa(job #2219568)
| Utilizator | Data | 9 iulie 2018 13:03:56 | |
|---|---|---|---|
| Problema | Divk | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <iostream>
#include <fstream>
using namespace std;
int frecventa[100002],sir[500002];
int main() {
ifstream f("divk.in");
ofstream g("divk.out");
int n,a,b,k,x;
long long contor=0;
sir[0]=0;
f>>n>>k>>a>>b;
for(int i=1;i<=n;i++) {
f>>x;
sir[i]=(sir[i-1]+x%k)%k;
if(i>=a) {
frecventa[sir[i-a]]++;
}
if(i>=b+1) {
frecventa[sir[i-b-1]]--;
}
contor=contor+frecventa[sir[i]];
}
g<<contor;
f.close();
g.close();
}
