Submission #668920

#TimeUsernameProblemLanguageResultExecution timeMemory
668920mychecksedadThe Collection Game (BOI21_swaps)C++17
27 / 100
119 ms508 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back const int M = 505; void schedule(int, int); vector<int> visit(); void answer(std::vector<int>); int n; bitset<M> is[M]; vector<bool> used(n+1); pair<int, int> c[M]; int find_next(int i){ for(int j = 1; j <= n; ++j){ if(i!=j && !is[i][j] && !used[j]){ is[i][j] = 1; is[j][i] = 1; return j; } } return -1; } void solve(int NN, int V){ n = NN; if(V < 1000){ for(int i = 0; i < n; ++i){ int k = 1; if(i % 2){ k = 2; } vector<array<int, 2>> v; for(int i = k; i < n; i += 2){ schedule(i, i + 1); } } vector<int> a; for(int i = 1; i <= n; ++i) a.pb(i); answer(a); return; } for(int i = 1; i <= n; ++i) c[i] = {0, i}; bool ok = 1; for(; ok; ){ used.clear(); used.resize(n+1); vector<array<int, 2>> v; ok = 0; for(int j = 1; j <= n; ++j){ if(!used[j]){ int nxt = find_next(j); if(nxt==-1){ continue; } ok = 1; used[nxt] = used[j] = 1; schedule(j, nxt); v.pb({j, nxt}); } } if(!ok) break; vector<int> ans = visit(); for(int i = 0; i < ans.size(); ++i){ c[v[i][!ans[i]]].first++; } } sort(c + 1, c + 1 + n); vector<int> a; for(int i = n; i >= 1; --i) a.pb(c[i].second); answer(a); }

Compilation message (stderr)

swaps.cpp: In function 'void solve(int, int)':
swaps.cpp:68:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |         for(int i = 0; i < ans.size(); ++i){
      |                        ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...