Submission #1117503

#TimeUsernameProblemLanguageResultExecution timeMemory
1117503heeyJust Long Neckties (JOI20_ho_t1)C++14
0 / 100
1 ms336 KiB
#include<bits/stdc++.h> using namespace std; #define int long long vector<int> a; bool cmp(int l, int r){ return a[l] < a[r]; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector<int> b(n); a = vector<int>(n+1); for(int i = 0; i < n+1; i++) cin >> a[i]; for(int i = 0; i < n; i++) cin >> b[i]; sort(b.begin(), b.end()); vector<int> c(n+1); for(int i = 0; i < n+1; i++) c[i] = i; sort(c.begin(), c.end(), cmp); vector<int> p(n+1), s(n+1); p[0] = max(a[c[0]] - b[0], 0ll); for(int i = 1; i < n; i++){ p[i] = max(p[i-1], max(a[c[i]] - b[i], 0ll)); } s[n-1] = max(a[c[n]] - b[n-1], 0ll); for(int i = n - 2; i >= 0; i--) s[i] = max(s[i+1], max(a[c[i+1]] - b[i], 0ll)); p[n] = p[n-1]; /*cout << "prefix\n"; for(int i = 0; i < n; i++) cout << p[i] << ' '; cout << "\nsuffix\n"; for(int i = 0; i < n; i++) cout << s[i] << ' '; cout << '\n';*/ for(int i = 0; i < n+1; i++){ cout << max(p[c[i]], s[c[i]]); if(i != n) cout << ' '; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...