Cod sursa(job #989555)

Utilizator DorelBarbuBarbu Dorel DorelBarbu Data 25 august 2013 21:35:35
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 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;

    }


}

int rezolva(){

    int 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("%d", rezolva() );
    return 0;
}