Pagini recente » Cod sursa (job #2162161) | Cod sursa (job #260595) | Cod sursa (job #1466205) | Cod sursa (job #700889) | Cod sursa (job #905792)
Cod sursa(job #905792)
#include <fstream>
using namespace std;
int N, A, B, K, NR, x;
long long sume[500010], sol[100010];
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;
}