Cod sursa(job #1309023)
| Utilizator | Data | 5 ianuarie 2015 08:24:06 | |
|---|---|---|---|
| Problema | Divk | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <stdio.h>
int n,a,b,k;
int sum[500001];
int main()
{
FILE *fin,*fout;
fin=fopen("divk.in","r");
fout=fopen("divk.out","w");
fscanf(fin,"%d%d%d%d",&n,&k,&a,&b);
for(int i=1;i<=n;i++)
{
fscanf(fin,"%d",&sum[i]);
sum[i]+=sum[i-1];
if(sum[i]>=k) sum[i]%=k;
}
int ct=0;
for(int i=a;i<=n;i++)
{
for(int j=a;;j++)
{
if(j>b||i-j==-1) break;
if(sum[i]==sum[i-j]) ct++;
}
}
fprintf(fout,"%d\n",ct);
fclose(fin);
fclose(fout);
return 0;
}
