Pagini recente » Cod sursa (job #2888862) | Cod sursa (job #2796710) | Cod sursa (job #2529802) | Cod sursa (job #1122820) | Cod sursa (job #1126062)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("divk.in");
ofstream fout ("divk.out");
const int NMAX = 500009;
const int KMAX = 100009;
int N; int K; int A; int B; int V[NMAX]; int T[NMAX];
vector <int> S[KMAX];
int main() {
fin >> N >> K >> A >>B;
int sum = 0;
for(int i = 1; i <= N; ++i) {
fin >> V[i];
sum = (sum + V[i]) % K;
T[i] = sum;
S[sum].push_back(i);
}
S[0].push_back(0);
int sol = 0;
for(int i = 1; i <= N; ++i) {
for(unsigned j = 0 ;j < S[T[i]].size(); ++j) {
if(!(A <= i - S[T[i]][j] && i - S[T[i]][j] <= B)) continue;
sol++;
}
}
fout << sol;
return 0;
}