Cod sursa(job #331827)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 15 iulie 2009 14:13:08
Problema Divk Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>

int i,rez,n,k,x,y,a[500010],v[100001];

int main()
{ 
    freopen("divk.in","r",stdin);
    freopen("divk.out","w",stdout);
    
    scanf("%d %d %d %d",&n,&k,&x,&y);
    
    for(i=1;i<=n;i++) { scanf("%d",&a[i]);
                        a[i]+=a[i-1];
                      }  
    v[0]=1;
    for(i=x;i<=n;i++) { rez+=v[a[i]%k];
                        v[a[i-x+1]%k]++;
                        if(i-y>=0) --v[a[i-y]%k];
                      } 
    printf("%d\n",rez);
    fclose(stdin);
    fclose(stdout);
    return 0;
}