Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
sdfg
#include <algorithm> #include <iostream> #include <vector> using std::cin; using std::cout; using std::endl; using std::vector; int count(const vector<int> &rate){ int back = rate.back(); return std::count_if(rate.begin(), rate.end(), [back](int x){ // cout << x << "===" << back << endl; return x < back; }); } const vector<int> &f(const vector<int> &rate, const vector<int> &arr, const vector<int> &num, int x) { vector<int> res(rate); auto iter = find(arr.begin(), arr.end(), 1); int a = iter - arr.begin() + 1; /* cout << a << " " << x << endl; for(int t:rate){ cout << t << " "; } cout << endl; */ if (a < x) { res[find(num.begin(), num.end(), a) - num.begin()] += a; return res; } if (a == x) { iter = find(iter + 1, arr.end(), 1); a = iter - arr.begin() + 1; if (iter == arr.end()) { return res; } else { res[find(num.begin(), num.end(), a) - num.begin()] += a; return res; } } if (arr[x - 1] == 0) { res.back() += x; return res; } res[find(num.begin(), num.end(), a) - num.begin()] += a; return res; } int main() { size_t n; cin >> n; vector<int> rate; rate.reserve(n); for (size_t i = 0; i < n; ++i) { int t; cin >> t; rate.push_back(t); } vector<int> arr(100, 0), num; num.reserve(n); for (size_t i = 0; i < n - 1; ++i) { int t; cin >> t; ++arr[t - 1]; num.push_back(t); } int max = -1, x; for (int i = 1; i <= 200; ++i) { int t = count(f(rate, arr, num, i)); // cout << "t=" << t << endl << "max=" << max << endl; if (t > max) { max = t; x = i; } } cout << x << endl; }
run
|
edit
|
history
|
help
0
constructing object on first use as return value of (pointer to) object-returning function
Bad palindrom
Test 6(2020)
TemplateBinTree
typedef char*
Teste sobrecarga de operadores
mine
10 wizards
2021(M2)Simulare:S3:1
Palindromy