제출 #1147615

#제출 시각아이디문제언어결과실행 시간메모리
1147615ace5Bitaro's travel (JOI23_travel)C++20
100 / 100
331 ms3432 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; int a[n]; for(int i = 0;i < n;++i) { cin >> a[i]; } int q; cin >> q; while(q--) { int x; cin >> x; ll ans = 0; int ri = upper_bound(a,a+n,x)-a; int li = ri-1; while(li != -1 && ri != n) { if(x-a[li] > a[ri]-x) { int ni = upper_bound(a,a+n,2*x-a[li])-a-1; ans += abs(a[ni]-x); x = a[ni]; ri = ni+1; } else { int ni = lower_bound(a,a+n,2*x-a[ri])-a; ans += abs(a[ni]-x); x = a[ni]; li = ni-1; } } cout << ans + max(a[n-1],x) - min(x,a[0]) << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...