Pagini recente » Diferente pentru problema/arcas intre reviziile 9 si 8 | Cod sursa (job #2222552) | Cod sursa (job #2019358) | Cod sursa (job #1635273) | Cod sursa (job #3202805)
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int n,k,a,b,v[500010],d[100010];
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;
}