Cod sursa(job #1093312)

Utilizator sddddgjdZloteanu Anastasia sddddgjd Data 27 ianuarie 2014 21:42:19
Problema Divk Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
long long rez[500001],sol[500001];
int main()
{
    FILE *fin,*fout;
    fin=fopen("divk.in","r");
    fout=fopen("divk.out","w");
    int n,k,a,b;
    fscanf(fin,"%d%d%d%d",&n,&k,&a,&b);
    long long i,rezf=0;
    for(i=1;i<=n;i++)
    {
        long long x;
        fscanf(fin,"%lld",&x);
        rez[i]=(rez[i-1]+x)%k;
        if(i>b)
            sol[rez[i-b-1]]--;
        if(i>=a)
            sol[rez[i-a]]++;
        rezf=rezf+sol[rez[i]] ;
    }
    fprintf(fout,"%lld",rezf);
    return 0;
}