Cod sursa(job #1228973)

Utilizator vasica38Vasile Catana vasica38 Data 15 septembrie 2014 23:11:54
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
#include<algorithm>

using namespace std;


long long  s[500001],a[500001];
int i,j,k,m,u,n,x,y;

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