Cod sursa(job #1981985)
| Utilizator | Data | 17 mai 2017 14:42:24 | |
|---|---|---|---|
| Problema | Divk | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <fstream>
#include <vector>
using namespace std;
int n,k,a,b,x,v[500001],i,j,f[500001];
long long sol;
ifstream fin ("divk.in");
ofstream fout ("divk.out");
int main (){
fin>>n>>k>>a>>b;
for (i=1;i<=n;i++){
fin>>x;
v[i] = v[i-1] + x;
v[i] %= k;
}
for (i=a;i<=n;i++){
if (i>b)
f[v[i-b-1]]--;
f[v[i-a]]++;
sol += f[v[i]];
}
fout<<sol;
return 0;
}
