Submission #804056

#TimeUsernameProblemLanguageResultExecution timeMemory
804056fatemetmhrMonster Game (JOI21_monster)C++17
10 / 100
166 ms4472 KiB
// Be name khoda // #include "monster.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; #define all(x) x.begin(), x.end() #define pb push_back #define fi first #define se second #define mp make_pair namespace { const int maxn5 = 2e3 + 10; int cnt[maxn5], st[maxn5][maxn5]; void msort(vector <int> &a){ if(a.size() <= 1) return; if(a.size() == 3){ } int pt = 0; vector <int> av1, av2; for(int i = 0; i < a.size(); i++) if(i != pt){ if(Query(a[i], a[pt])) av2.pb(a[i]); else av1.pb(a[i]); } msort(av1); msort(av2); if(av1.size() && av2.size() && Query(av1.back(), av2[0])) swap(av1[int(av1.size()) - 1], av2[0]); int keep = a[pt]; a.clear(); for(auto u : av1) a.pb(u); a.pb(keep); for(auto u : av2) a.pb(u); } bool cmp(int i, int j){return cnt[i] < cnt[j] || (cnt[i] == cnt[j] && st[i][j]);} } // namespace std::vector<int> Solve(int n) { vector <int> ret(n), a(n); for(int i = 0; i < n; i++) a[i] = i; for(int i = 0; i < n; i++) for(int j = i + 1; j < n; j++){ st[i][j] = Query(i, j); st[j][i] = st[i][j] ^ 1; } for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) if(i != j) cnt[i] += st[i][j]; sort(all(a), cmp); /* for(int i = 0; i < n; i++) cout << cnt[i] << ' '; cout << endl; for(int i = 0; i < n; i++) cout << a[i] << ' '; cout << endl; */ /* for(int i = 0; i < n; i++) cout << a[i] << ' '; cout << endl; */ for(int i = 0; i < n; i++){ ret[a[i]] = i; } return ret; }

Compilation message (stderr)

monster.cpp: In function 'void {anonymous}::msort(std::vector<int>&)':
monster.cpp:29:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |     for(int i = 0; i < a.size(); i++) if(i != pt){
      |                    ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...