Cod sursa(job #1204022)

Utilizator cristian.caldareaCaldarea Cristian Daniel cristian.caldarea Data 1 iulie 2014 18:52:34
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("divk.in");
ofstream fout("divk.out");

int n, a, b, k, x;

long long s[500001], v[500001];
long long nr;

int main()
{
    fin >> n >> k >> a >> b;
    for ( int i = 1; i <= n; ++i )
    {
        fin >> x;
        s[i] = (s[i-1] + x) % k;
    }
    for ( int i = 1; i <= n; i++)
    {
        if ( i >= a )
            v[s[i - a]]++;
        if ( i > b )
            v[s[i - b - 1]]--;
        nr += v[s[i]];
    }
    fout <<  nr;
    return 0;
}