Cod sursa(job #1552737)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 18 decembrie 2015 15:48:52
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 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,i,nr,poz;
    long long con;
    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,"%lld" ,con);
    fclose(fi);
    fclose(fout);
    return 0;
}

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