Cod sursa(job #2009139)

Utilizator shantih1Alex S Hill shantih1 Data 8 august 2017 17:25:40
Problema Divk Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>

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

int n, k, a, b, c, sum, v[500004], f[100005], r[500005], j, i, nr;

int main () {
    
    fin >> n >> k >> a >> b;
    
    for (i = 1; i <= n; i++)
    {
        fin >> v[i];
        v[i] += v[i-1];
        v[i-1] %= k;
    }
    v[n] %= k;
    
    c = b-a+1;
    for (i = 1; i <= n; i++)
    {
        f[v[i]]++;
        if (i > c) f[v[i-c]]--;
        
        r[i+a-1] = f[v[i+a-1]];
        
        sum += r[i];
    }
    
    fout << sum << "\n";
}