Cod sursa(job #1552736)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 18 decembrie 2015 15:48:19
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <cstdio>
#define MAXN 500000
#define MAXK 100000
int v[MAXN+1],nra[MAXK+1];
int main(){
    FILE*fi,*fout;
    int n,k,a,b,con,i,nr,poz;
    fi=fopen("divk.in" ,"r");
    fout=fopen("divk.out" ,"w");
    fscanf(fi,"%d%d%d%d" ,&n,&k,&a,&b);
    for(i=1;i<=n;i++){
         fscanf(fi,"%d" ,&nr);
         v[i]=(v[i-1]+nr)%k;
    }
    con=0;
    for(i=a;i<=n;i++){
         nra[v[i-a]]++;
         con+=nra[v[i]];
         if(i-b>=0)
            nra[v[i-b]]--;
    }
    fprintf(fout,"%d" ,con);
    fclose(fi);
    fclose(fout);
    return 0;
}

// 2 1 1 0 1 0
// 2 9 5 4 1 4