Cod sursa(job #3202803)
Utilizator | Data | 12 februarie 2024 11:45:34 | |
---|---|---|---|
Problema | Divk | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int n,k,a,b,v[500001],d[100001];
int main(){
fin>>n>>k>>a>>b;
int rez = 0;
for(int i=1;i<=n;i++){
fin>>v[i];
v[i]+=v[i-1];
v[i]%=k;
}
for(int i=1;i<=n;i++){
//suma+=v[i];
if(i>=a){
d[v[i-a]]++;
}
rez+=d[v[i]];
if(i>=b)
d[v[i-b]]--;
}
fout<<rez;
return 0;
}