Pagini recente » Cod sursa (job #278616) | Cod sursa (job #2741295) | Cod sursa (job #2088285) | Cod sursa (job #1282578) | Cod sursa (job #566121)
Cod sursa(job #566121)
#include<cstdio>
using namespace std;
const char in[]="divk.in";
const char out[]="divk.out";
const int Max_N = 500100;
int v[Max_N], s[Max_N], N, A, B, K, x;
long long sol;
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%d %d %d %d", &N , &K, &A, &B);
for(int i = 1 ; i <= N ; ++i)
{
scanf("%d", &x);
s[i] = (s[i - 1] + x) % K;
if(i - B - 1 >= 0 ) --v[ s[ i - B - 1 ] ];
if(i - A >= 0 ) ++v[ s[ i - A ] ];
sol += v[ s[ i ] ];
}
printf("%lld\n", sol);
return 0;
}