Submission #643574

#TimeUsernameProblemLanguageResultExecution timeMemory
643574PagodePaivaJust Long Neckties (JOI20_ho_t1)C++17
0 / 100
0 ms212 KiB
#include<bits/stdc++.h> #define int long long #define ms(v) memset(v, -1, sizeof v) #define pb push_back #define mp make_pair #define ll long long int #define pi pair <int,int> #define itn int #define fr first #define sc second #define srt(v) sort(v.begin(), v.end()) #define rvs(v) reverse(v.begin(), v.end()) #define mod 1000000007 #define INF 1e18 #define N 200010 using namespace std; int n; vector <pi> a; vector <pi> b; int pref[N], suf[N]; int32_t main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> n; for(int i = 1;i <= n+1;i++){ int x; cin >> x; a.pb({x, i}); } for(int i = 1;i <= n;i++){ int x; cin >> x; b.pb({x, i}); } srt(a); srt(b); for(int i = 1;i <= n;i++){ pref[i] = max(pref[i-1], a[i-1].fr - b[i-1].fr); } for(int i = n+1;i > 1;i--){ suf[i] = max(suf[i+1], a[i-1].fr - b[i-2].fr); } vector <pi> res; for(int i = 0;i <= n;i++){ int pos = a[i].sc; int val = max(pref[a[i].sc-1], suf[a[i].sc+1]); res.pb({pos, val}); } srt(res); for(int i = 0;i <= n;i++){ cout << res[i].sc << " "; } // cout << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...