Submission #878919

#TimeUsernameProblemLanguageResultExecution timeMemory
878919thinknoexitLongest Trip (IOI23_longesttrip)C++17
5 / 100
753 ms856 KiB
#include <bits/stdc++.h> #include "longesttrip.h" using namespace std; using ll = long long; int n, d; bool adj[256][256]; int cnt[256]; vector<int> longest_trip(int N, int D) { n = N; d = D; for (int i = 0;i < n;i++) { adj[i][i] = 1; for (int j = i + 1;j < n;j++) { adj[i][j] = adj[j][i] = are_connected({ i }, { j }); } } vector<int> a, b, g1, g2; for (int i = 0;i < n;i++) { if (adj[0][i]) g1.push_back(i); else g2.push_back(i); } memset(cnt, 0, sizeof cnt); for (auto& x : g1) { for (auto& y : g2) { if (adj[x][y]) cnt[x]++; } } int mx = 0; for (auto& x : g1) { mx = max(mx, cnt[x]); } for (auto& x : g1) { if (cnt[x] == mx) b.push_back(x); else a.push_back(x); } for (auto& x : g2) b.push_back(x); for (auto& x : a) { for (auto& y : b) { if (adj[x][y]) { vector<int> ans; for (auto& xx : a) { if (xx != x) ans.push_back(xx); } ans.push_back(x); ans.push_back(y); for (auto& yy : b) { if (yy != y) ans.push_back(yy); } return ans; } } } if (a.size() > b.size()) return a; return b; }
#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...