Cod sursa(job #1674559)

Utilizator andysolNelIdiot andysol Data 4 aprilie 2016 18:51:20
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>

int v1[500001];
int v2[500001];

int main() {
    std::ifstream fin("divk.in");
    int n, k, a, b;
    fin >> n >> k >> a >> b;
    
    for (int i=1; i<=n; i++)
    {
        fin >> v1[i];
        v1[i] += v1[i-1];
        v1[i] %= k;
    }
    fin.close();
    
    long long s=0;
    for (int i=a; i<=n; i++) {
        v2[ v1[i-a] ]++;
        if (i > b)
            v2[ v1[i-b-1] ]--;
        
        s+=v2[ v1[i] ];
    }
    std::ofstream fout("divk.out");
    fout << s << std::endl;
    fout.close();
}