Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 71 si 70 | Cod sursa (job #404921) | Cod sursa (job #944441) | Cod sursa (job #1414802) | Cod sursa (job #988607)
Cod sursa(job #988607)
#include <iostream>
#include <stdio.h>
#include <cstring>
#define MAX_N 500005
using namespace std;
int n,k,a,b,v[MAX_N], d[100][100];
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]);
//for(i=1; i<=n; ++i) printf("%d ", v[i]);
}
int dinamica()
{
int i,j,answer=0;
for(i=1; i<=n; i++)
{
d[1][i]=d[1][i-1]+v[i];
if(d[1][i]%k==0 && a<=i && i<=b) answer++;
}
for(i=2; i<=n; i++)
for(j=i; j<=n; j++)
{
d[i][j]=d[1][j]-d[1][(i-1)];
if(d[i][j]%k==0 && a<=j-i+1 && j-i+1<=b) answer++;
}
//cout<<answer<<endl;
return answer;
}
int main()
{
freopen("divk.out","w",stdout);
citire();
printf("%d",dinamica());
return 0;
}