Submission #131611

#TimeUsernameProblemLanguageResultExecution timeMemory
131611KewoMeetings (JOI19_meetings)C++17
29 / 100
300 ms2512 KiB
#include "meetings.h" #include <bits/stdc++.h> #define fi first #define se second #define pb push_back #define ppb pop_back #define mid ((x + y) / 2) #define left (ind * 2) #define right (ind * 2 + 1) #define spc " " #define endl "\n" #define fast_io() cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(false) using namespace std; typedef pair<int, int> ii; typedef long long int lli; const int N = (305); const int LOG = (20); int mark[N], tk; set<int> below[N]; void Solve(int N) { for(int i = 0; i < N; i++) below[0].insert(i); for(int i = 1; i < N; i++) for(int j = i + 1; j < N; j++) { int node = Query(0, i, j); below[node].insert(i); below[node].insert(j); } for(int i = 0; i < N; i++) below[i].erase(i); for(int i = 1; i < N; i++) if(below[i].size() == 0) mark[i] = 1; while(!mark[0]) for(int i = 0; i < N; i++) { if(mark[i]) continue; bool ok = true; for(auto j : below[i]) if(!mark[j]) ok = false; if(ok) { mark[i] = 1; for(auto j : below[i]) if(mark[j] == 1) { if(i < j) Bridge(i, j); else Bridge(j, i); mark[j] = 2; } } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...