제출 #550724

#제출 시각아이디문제언어결과실행 시간메모리
550724Ahmed57Just Long Neckties (JOI20_ho_t1)C++14
100 / 100
201 ms10800 KiB
#include <bits/stdc++.h> using namespace std; int main (){ int n;cin>>n; vector<int> bb(n); vector<pair<int,int>> arr(n+1); for(int i = 0;i<=n;i++){ cin>>arr[i].first; arr[i].second = i; } for(int i = 0;i<n;i++)cin>>bb[i]; sort(arr.begin(),arr.end()); sort(bb.begin(),bb.end()); int per[n] , suf[n]; for(int i = 0;i<n;i++){ per[i] = max(arr[i].first-bb[i],0); if(i)per[i] = max(per[i],per[i-1]); } for(int i = n-1;i>=0;i--){ suf[i] = max(arr[i+1].first-bb[i],0); if(i<n-1)suf[i] = max(suf[i],suf[i+1]); } int ans[n+1]={0}; for(int i = 0;i<=n;i++){ if(i==0){ ans[arr[i].second] = suf[i]; }else if(i==n){ ans[arr[i].second] = per[i-1]; }else{ ans[arr[i].second] = max(per[i-1],suf[i]); } } for(int i = 0;i<=n;i++)cout<<ans[i]<<" "; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...