Pagini recente » Cod sursa (job #1891590) | Cod sursa (job #2679395) | Cod sursa (job #1614116) | Cod sursa (job #469392) | Cod sursa (job #988606)
Cod sursa(job #988606)
#include <iostream>
#include <stdio.h>
#include <cstring>
#define MAX_N 500005
using namespace std;
int n,k,a,b,v[MAX_N], d[5][MAX_N];
void citire()
{
freopen("divk.in","r",stdin);
scanf("%d %d %d %d",&n,&k,&a,&b);
int i;
for(i=1; i<=n; ++i) scanf("%d",&v[i]);
}
int dinamica()
{
int i,j,answer=0;
for(i=1; i<=n; i++)
{
d[0][i]=d[0][i-1]+v[i];
d[1][i]=d[0][i];
if(d[0][i]%k==0 && a<=i && i<=b) answer++;
}
for(i=2; i<=n; i++)
{
for(j=i; j<=n; j++)
{
d[2][j]=d[0][j]-d[0][i-1];
if(d[2][j]%k==0 && a<=j-i+1 && j-i+1<=b) answer++;
}
memcpy(d[1],d[2],sizeof(d[2]));
}
return answer;
}
int main()
{
freopen("divk.out","w",stdout);
citire();
dinamica();
printf("%d", dinamica());
return 0;
}