Pagini recente » Cod sursa (job #625070) | Cod sursa (job #2348720) | Cod sursa (job #3273518) | Cod sursa (job #551100) | Cod sursa (job #905788)
Cod sursa(job #905788)
#include <fstream>
using namespace std;
#define Nmax 1000002
int N, A, B, K, NR, x;
int sume[Nmax], sol[Nmax];
void citire(){
ifstream f("divk.in");
f >> N >> K >> A >> B;
for(int i = 1; i <= N; i++){
f >> x;
sume[i] = ( sume[i-1] + x ) % K;
}
f.close();
}
void rezolva(){
for(int i = 1; i <= N; i++){
if ( i - A >= 0 )
sol[ sume[i - A] ]++;
if ( i - B > 0 )
sol[ sume[i - B - 1] ]--;
NR += sol[sume[i]];
}
}
void afis(){
ofstream g("divk.out");
g << NR << "\n";
g.close();
}
int main(){
citire();
rezolva();
afis();
return 0;
}