Cod sursa(job #1025771)

Utilizator george_stelianChichirim George george_stelian Data 10 noiembrie 2013 15:47:58
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <cstdio>

using namespace std;

int v[500010],v1[100000];
int n,k,a,b,x,i;
long long int sol;

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