Pagini recente » Cod sursa (job #479341) | Cod sursa (job #250748) | Cod sursa (job #2533173) | Borderou de evaluare (job #565582) | Cod sursa (job #905801)
Cod sursa(job #905801)
#include <fstream>
using namespace std;
#define Nmax 500002
int N, K, A, B, x;
long long NR;
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;
}