Pagini recente » Cod sursa (job #1304139) | Cod sursa (job #675359) | Cod sursa (job #948653) | Cod sursa (job #1141339) | Cod sursa (job #2429335)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int n, k, a, b, sol;
vector <int> v;
map <int, vector <int> > p;
int main()
{
fin >> n >> k >> a >> b;
v.resize(n + 1);
p[0].push_back(0);
for (int i = 1; i <= n; ++i)
{
fin >> v[i];
v[i] = (v[i - 1] + v[i]) % k;
sol = sol + (upper_bound(p[v[i]].begin(), p[v[i]].end(), i - a) - lower_bound(p[v[i]].begin(), p[v[i]].end(), i - b));
p[v[i]].push_back(i);
}
fout << sol;
return 0;
}