Pagini recente » Cod sursa (job #1369757) | Cod sursa (job #177683) | Cod sursa (job #226765) | Cod sursa (job #1892564) | Cod sursa (job #715937)
Cod sursa(job #715937)
#include <iostream>
#include <fstream>
using namespace std;
int v[500005], s[500005];
int main() {
ifstream f("divk.in");
ofstream g("divk.out");
int n, a, b, k, i, j, rez=0;
f>>n>>k>>a>>b;
for(i=1; i<=n; i++) { f>>v[i]; s[i]=s[i-1]+v[i]; }
j=n;
while(j>=1) {
i=j;
while(j-i+1 <a) i--; //trebuie sa ating lungimea minima, si de acolo cobor
while((j-i+1)<=b && i>0) {
if((s[j]-s[i-1])%k==0) {
//for(int q=i; q<=j; q++) g<<v[q]<<" "; g<<"\n";
rez++;
}
i--;
}
j--;
}
g<<rez;
f.close();
g.close();
return 0;
}