Cod sursa(job #729108)
| Utilizator | Data | 29 martie 2012 11:45:54 | |
|---|---|---|---|
| Problema | Divk | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<stdio.h>
using namespace std;
int A,B,N,K,v[500001];
long long nrsol=0;
int sum_div(int x, int y) {
int i,sum=0;
for(i=x;i<=y;i++) {
sum = (sum%K + v[i]%K) %K;
}
if(sum==0) return 1;
else return 0;
}
int main() {
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%d %d %d %d",&N,&K,&A,&B);
int i,j;
for(i=1;i<=N;i++)
scanf("%d",&v[i]);
for(i=1;i<=N-A+1;i++)
for(j=A;j<=B&&i+j-1<=N;j++)
if(sum_div(i,i+j-1))
nrsol++;
printf("%lld",nrsol);
return 0;
}
