Cod sursa(job #615346)
| Utilizator | Data | 9 octombrie 2011 14:54:48 | |
|---|---|---|---|
| Problema | Divk | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<stdio.h>
#include<fstream>
#include<string.h>
using namespace std;
int sume[500010],nr;
long long sol;
char numar[20];
int A,B,K,n;
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%d %d %d %d\n",&n,&K,&A,&B);
for(int i=1;i<=n;i++)
{
scanf("%s",numar);
nr=0;
for(int p=0;p<strlen(numar);p++)
nr=nr*10+(numar[p]-'0');
sume[i]=sume[i-1]+nr;
for(int j=A;j<=B && j<i;j++)
if((sume[i]-sume[i-j+1])%K==0) sol++;
}
printf("%lld",sol);
}