Cod sursa(job #989557)

Utilizator DorelBarbuBarbu Dorel DorelBarbu Data 25 august 2013 21:36:34
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <stdio.h>
#include <cstring>
#define MAX_N 500005
using namespace std;

int n,k,a,b,v[MAX_N],ap[MAX_N];

void citire()
{
    freopen("divk.in","r",stdin);

    scanf( "%d %d %d %d",&n, &k, &a, &b );

    int i;

    for( i = 1; i <= n; ++i ){

        scanf( "%d", &v[i] );

        v[i]= ( v[i] + v[i-1] ) % k;

    }


}

long long rezolva(){

    long long solution = 0, i;

    for( i = a; i <= n; i++ ){

        ap[ v[i-a] ]++;

        if( i-b-1 >= 0 )
            ap[ v[i-b-1] ]--;

        solution+=ap[ v[i] ];

    }

    return solution;
}
int main()
{
    freopen("divk.out","w",stdout);
    citire();
    printf("%lld", rezolva() );
    return 0;
}