Cod sursa(job #1314366)
Utilizator | tudoras8 tudoras8 | Data | 11 ianuarie 2015 19:55:23 |
---|---|---|---|
Problema | Trie | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
#define MAXN 1000000
using namespace std;
int N, K, Q, X, Y, Z, C[MAXN], S = 0;
bool compare(int i,int j) { return (i > j); }
int main()
{
ifstream f("beri.in");
ofstream g("beri.out");
f >> N >> K >> Q >> X >> Y >> Z;
C[1] = Q;
for (int i = 2; i <= N; i++) {
C[i] = ( C[i-1] * X + Y ) % Z + K;
}
nth_element(C + 1, C + K + 1, C + N + 1, compare);
for (int i = 1; i <= K; i++)
S += C[i] - (i - 1);
g << S;
f.close();
g.close();
return 0;
}