제출 #825734

#제출 시각아이디문제언어결과실행 시간메모리
825734pawnedSplit the Attractions (IOI19_split)C++17
0 / 100
46 ms11088 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back typedef long long ll; typedef pair<int, int> ii; typedef vector<int> vi; #include "split.h" int N, M; int A, B, C; vi adj[100005]; vi find_split(int n, int a, int b, int c, vi p, vi q) { N = n; A = a; B = b; C = c; M = p.size(); for (int i = 0; i < M; i++) { adj[p[i]].pb(q[i]); adj[q[i]].pb(p[i]); } int endpt = 0; for (int i = 0; i < N; i++) { if (adj[i].size() < 2) endpt = i; } vi order; int prev = -1; int curr = endpt; for (int i = 0; i < N; i++) { order.pb(curr); if (adj[curr][0] == prev) { prev = curr; curr = adj[curr][1]; } else { prev = curr; curr = adj[curr][0]; } } /* cout<<"order: "; for (int i : order) cout<<i<<" "; cout<<endl; */ vi answer(N); for (int i = 0; i < N; i++) { if (i < A) answer[i] = 1; else if (A <= i && i < A + B) answer[i] = 2; else answer[i] = 3; } return answer; }
#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...