Pagini recente » Cod sursa (job #2340472) | Cod sursa (job #102532) | Cod sursa (job #141560) | Cod sursa (job #1451929) | Cod sursa (job #57867)
Cod sursa(job #57867)
// 50 pcte O(n*(B-A)) cre k asta ii complexitatea
#include <stdio.h>
#define in "divk.in"
#define out "divk.out"
int i, j, a, b, n, k;
int s[500001];
void Read();
void Solve();
int main()
{
Read();
return 0;
}
void Read()
{
int sum = 0, t = 0, l, val = 0;
s[0] = 0;
FILE *fin = fopen(in,"r");
fscanf(fin,"%d",&n);
fscanf(fin,"%d",&k);
fscanf(fin,"%d",&a);
fscanf(fin,"%d",&b);
for ( i = 1; i <= n; i++ )
{
fscanf(fin,"%d",&val);
s[i] += (s[i-1] + val%k)%k;
for ( l = a; l <= b; l++ )
{
if ( i - l >= 0 )
{
if ( (s[i] - s[i-l]) == 0 )
{
t++;
}
}
else l = b;
}
}
fclose(fin);
FILE *fout = fopen(out,"w");
fprintf(fout,"%d", t);
fclose(fout);
}