Pagini recente » Cod sursa (job #877187) | Cod sursa (job #2246512) | Cod sursa (job #1413900) | Cod sursa (job #2335177) | Cod sursa (job #1816925)
#include <cstdio>
using namespace std;
FILE *f, *g;
int n, k, a, b, rez;
int s[500001];
int v[100001];
void readFile()
{
f = fopen("divk.in", "r");
fscanf(f, "%d%d%d%d", &n, &k, &a, &b);
int i, nr;
for(i = 1; i <= n; i ++)
{
fscanf(f, "%d", &nr);
nr %= k;
s[i] = (s[i - 1] + nr) % k;
}
fclose(f);
}
void solve()
{
int i;
for(i = 1; i <= n; i ++)
{
if(i >= a)
{
v[s[i - a]] ++;
}
if(i > b)
{
v[s[i - b - 1]] --;
}
rez += v[s[i]];
}
}
void printFile()
{
g = fopen("divk.out", "w");
fprintf(g, "%d\n", rez);
fclose(g);
}
int main()
{
readFile();
solve();
printFile();
return 0;
}