Pagini recente » Cod sursa (job #2456614) | Istoria paginii runda/ccex2015-10/clasament | Cod sursa (job #2920091) | Cod sursa (job #1736690) | Cod sursa (job #703128)
Cod sursa(job #703128)
#include<stdio.h>
FILE *f , *g ;
long n , b , a , k , v[500001] , frec[100001] ;
long long sol;
void citire();
void solve();
void tipar();
int main()
{
citire();
solve();
tipar();
return 0;
}
void citire()
{
f=fopen("divk.in" , "r" );
long nr;
fscanf(f , "%ld%ld%ld%ld" , &n , &k , &a , &b );
for( long i = 1 ; i<= n ; ++i )
{
fscanf(f , "%ld" , &nr );
v[i] = (v[i-1]+nr)%k;
if(v[i] == 0 && i >=a && i <= b)
sol++;
}
fclose(f);
}
void solve()
{
for( long i = a+1 ; i<= n ; ++i )
{
frec[v[i-a]]++;
if(i > b+1)
frec[v[i-b-1]]--;
sol+=frec[v[i]];
}
}
void tipar()
{
g=fopen("divk.out" , "w" );
fprintf(g , "%lld" , sol);
fclose(g);
}