Submission #1221718

#TimeUsernameProblemLanguageResultExecution timeMemory
1221718spetrMonster Game (JOI21_monster)C++20
0 / 100
688 ms1114112 KiB
#include "monster.h" namespace { bool example_variable; } // namespace std::vector<int> merge_sort(std::vector<int> cisla){ if (cisla.size() == 0){ return {}; } std::vector<int> a, b; int mid = cisla.size()/2; for (int i = 0; i < mid; i++){ a.push_back(cisla[i]); } for (int i = mid; i < cisla.size(); i++){ b.push_back(cisla[i]); } a = merge_sort(a); b = merge_sort(b); int i, j; std::vector<int> result; while (i < a.size() && j < b.size()){ bool fight = Query(a[i], b[j]); if (fight){ result.push_back(b[j]); j++; } else{ result.push_back(a[i]); i++; } } while (i < a.size()){ result.push_back(a[i]); i++; } while (j < b.size()){ result.push_back(b[j]); j++; } return result; } std::vector<int> Solve(int N) { std::vector<int> T(N); std::vector<int> cisla; for (int i = 0; i < N; i++){ cisla.push_back(i); } std::vector<int> serazeno = merge_sort(cisla); for (int i = 0; i < N-2; i++){ bool XY = Query(serazeno[i], serazeno[i+1]); bool XZ = Query(serazeno[i], serazeno[i+2]); if (XZ == false){ if (XY == false){ int temp = serazeno[i]; serazeno[i] = serazeno[i+1]; serazeno[i+1] = temp; } } else{ if (XY == true){ int temp = serazeno[i]; serazeno[i] = serazeno[i+1]; serazeno[i+1] = temp; } } } for (int i = 0; i < N; i++){ T[serazeno[i]] = i; } for (int i = 0; i < N; i++) T[i] = (N - 1) - i; return T; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...