# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
262107 | doowey | Meetings (JOI19_meetings) | C++14 | 3088 ms | 512 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "meetings.h"
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pii;
#define fi first
#define se second
#define mp make_pair
#define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int n;
const int MAXN = 2020;
int par[MAXN];
vector<int> mergesort(vector<int> a){
if(a.size() == 1)
return a;
int mid = (int)a.size()/2;
vector<int> lef, rig;
for(int i = 0 ; i < a.size(); i ++ ){
if(i < mid)
lef.push_back(a[i]);
else
rig.push_back(a[i]);
}
lef = mergesort(lef);
rig = mergesort(rig);
vector<int> srt;
int p = 0;
for(int i = 0 ; i < lef.size(); i ++ ){
while(p < rig.size() && Query(0, lef[i], rig[p]) == rig[p]){
srt.push_back(rig[p]);
p ++ ;
}
srt.push_back(lef[i]);
}
while(p < rig.size()){
srt.push_back(rig[p]);
p ++ ;
}
return srt;
}
void Solve(int N) {
n = N;
vector<int> ord;
for(int i = 1; i < n ; i ++ ){
ord.push_back(i);
par[i] = -1;
}
random_shuffle(ord.begin(), ord.end());
for(auto nd : ord){
if(par[nd] != -1) continue;
set<int> gt;
int res;
for(int j = 1; j < n; j ++ ){
if(j == nd) continue;
res = Query(0, j, nd);
gt.insert(res);
}
gt.insert(nd);
vector<int> ss;
for(auto p : gt)
if(p != 0)ss.push_back(p);
ss = mergesort(ss);
par[ss[0]] = 0;
for(int i = 1; i < ss.size(); i ++ )
par[ss[i]] = ss[i - 1];
}
int l, r;
for(int i = 1; i < n; i ++ ){
l = par[i];
r = i;
if(l > r)
swap(l, r);
Bridge(l, r);
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |