Cod sursa(job #1648348)

Utilizator AnaRaduAna-Maria Radu AnaRadu Data 11 martie 2016 09:39:16
Problema Divk Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>
#define lim 500005
#define mod 1000005
int s[lim],ap[mod];
int main(){
    FILE *fin,*fout;
    fin=fopen("divk.in","r");
    fout=fopen("divk.out","w");
    int i,n,m,st,dr;
    long long rasp=0;
    fscanf(fin,"%d%d%d%d",&n,&m,&st,&dr);
    for(i=1;i<=n;i++){
        fscanf(fin,"%d",&s[i]);
        s[i]=(s[i]+s[i-1])%m;
        if(i-dr>0)
            ap[i-dr-1]--;
        if(i-st>=0){
            ap[s[i-st]]++;
            rasp=rasp+(long long)ap[s[i]];
        }
    }
    fprintf(fout,"%lld",rasp);
    fclose(fin);
    fclose(fout);
    return 0;
}