제출 #1307193

#제출 시각아이디문제언어결과실행 시간메모리
1307193vako_pMeetings (JOI19_meetings)C++20
29 / 100
882 ms2324 KiB
#include "meetings.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define ff first #define sd second const int mxN = 2005; static ll n; random_device rd; mt19937_64 gen(rd()); void f(vector<ll> v){ if(v.size() <= 1) return; uniform_int_distribution<ll> dis(0, v.size() - 1); ll at = v[dis(gen)]; vector<vector<ll>> vv; vector<ll> val; for(int i = 0; i < v.size(); i++){ ll it = v[i]; if(at == it) continue; bool ok = true; for(int j = 0; j < val.size(); j++){ if(val[j] == it){ vv[j].pb(it); ok = false; break; } ll ans = Query(at, val[j], it); if(ans != at){ vv[j].pb(it); if(ans != val[j]) val[j] = ans; ok = false; break; } } if(ok){ val.pb(it); vv.pb({it}); } } for(int i = 0; i < vv.size(); i++){ Bridge(min(val[i], at), max(val[i], at)); f(vv[i]); } } void Solve(int N) { n = N; vector<ll> v(n); iota(v.begin(), v.end(), 0); f(v); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...