Cod sursa(job #1268465)

Utilizator catalincraciunCraciun Catalin catalincraciun Data 20 noiembrie 2014 23:14:00
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
/// Craciun Catalin
///  Beri
///    C[i] = ( C[i-1] * X + Y ) % Z + K
#include <iostream>
#include <fstream>
#include <algorithm>

#define NMax 1000005

using namespace std;

ifstream f("beri.in");
ofstream g("beri.out");

long long n,k;
long long q,x,y,z;
long long C[NMax];

void read() {

    f>>n>>k;
    f>>q>>x>>y>>z;
}

void solve() {

    C[1] = q; int sumTot = q;
    for (long long i=2;i<=n;i++) {
        C[i] = ( C[i-1] * x + y ) % z + k; sumTot += C[i]; }

    nth_element(C+1, C+k+1, C+1+n);

    long long suma = 0;
    for (long long i=1;i<=n-k;i++) {
        suma += C[i];
    }

    g<<sumTot - suma - k + 1<<'\n';
}

int main() {

    read();
    solve();

    f.close(); g.close();
    return 0;
}