Pagini recente » Cod sursa (job #1944788) | Cod sursa (job #2681111) | Cod sursa (job #1103471) | Cod sursa (job #1097973) | Cod sursa (job #1396160)
#include<cstdio>
#include<vector>
using namespace std;
int n,k,A,B,i,j,l,nre,x,sum,nr;
vector<int>rest[100000];
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%d%d%d%d",&n,&k,&A,&B);
rest[0].push_back(0);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
sum+=x;
sum%=k;
rest[sum].push_back(i);
}
/*for(i=0;i<k;i++)
{
for(j=0;j<rest[i].size();j++)
printf("%d ",rest[i][j]);
printf("\n");
}
printf("\n\n\n");*/
//printf("%d %d\n",A,B);
for(i=0;i<k;i++)
{
nr=rest[i].size();
for(j=0;j<nr-1;j++)
for(l=j+1;l<nr;l++)
if(rest[i][l]-rest[i][j]>=A)
if(rest[i][l]-rest[i][j]<=B)
nre++;
else
break;
}
printf("%d",nre);
}