Submission #740808

#TimeUsernameProblemLanguageResultExecution timeMemory
740808josanneo22Just Long Neckties (JOI20_ho_t1)C++17
100 / 100
104 ms10792 KiB
#include <bits/stdc++.h> using namespace std; #define mp make_pair #define pb push_back #define pii pair<int,int> #define fi first #define se second void solve(){ int n; cin>>n; vector<int> a(n+1),b(n); for(auto&x:a) cin>>x; for(auto&x:b) cin>>x; vector<int> ord(n+1); iota(ord.begin(),ord.end(),0); sort(ord.begin(),ord.end(),[&](int i,int j){ return a[i]<a[j]; }); sort(a.begin(),a.end()); sort(b.begin(),b.end()); vector<int> pre(n+2),suf(n+2); pre[0]=max(0,a[0]-b[0]); for(int i=1;i<n;i++){ pre[i]=max(pre[i-1],max(0,a[i]-b[i])); } suf[n-1]=max(0,a[n]-b[n-1]); for(int i=n-2;i>=0;i--){ suf[i]=max(suf[i+1],max(0,a[i+1]-b[i])); } vector<int> ans(n+1); for(int i=0;i<n;i++){ ans[ord[i]]=max(pre[i-1],suf[i]); } ans[ord[n]]=pre[n-1]; for(int i=0;i<=n;i++){ cout<<ans[i]<<' '; } cout<<'\n'; } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...