제출 #1015607

#제출 시각아이디문제언어결과실행 시간메모리
1015607onbertBitaro's travel (JOI23_travel)C++17
15 / 100
3095 ms13324 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int INF = 1e18; signed main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int a[n+2]; for (int i=1;i<=n;i++) cin >> a[i]; set<int> s; int q; cin >> q; while (q--) { for (int i=1;i<=n;i++) s.insert(a[i]); s.insert(-INF); s.insert(INF); int x; cin >> x; int ans = 0, cnt = 0; bool right = true; while (s.size() > 2) { int l = *prev(s.lower_bound(x)); int r = *s.lower_bound(x); if (abs(x-l) <= abs(r-x)) { if (right) cnt++; ans += abs(x-l); x = l; s.erase(l); right = false; } else { if (!right) cnt++; ans += abs(r-x); x = r; s.erase(r); right = true; } } cout << ans << endl; assert(cnt <= 32); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...