제출 #1273182

#제출 시각아이디문제언어결과실행 시간메모리
1273182jose_ernestoJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
71 ms11744 KiB
#include <bits/stdc++.h> #define int long long #define endl "\n" #define pii pair<int, int> #define sd second #define fs first #define vi vector<int> #define vii vi<vi> #define vpii vector<pii> #define pb push_back #define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); using namespace std; const int oo=1e18,MAX=2e5+5; int32_t main(){ fast int a,n; cin>>n; vpii c(n+1); vi auxi(n+1,0),auxi1(n+1,0); vi e(n),ans(n+1); for(int i=0;i<=n;i++){ cin>>c[i].fs; c[i].sd=i; } for(int i=0;i<n;i++){ cin>>e[i]; } sort(c.begin(),c.end()); sort(e.begin(),e.end()); for(int i=n-1;i>=0;i--){ if(i==n-1){auxi[i]=max(auxi[i],c[i+1].fs-e[i]);continue;} auxi[i]=max(auxi[i+1],c[i+1].fs-e[i]); } for(int i=0;i<n;i++){ if(i==0){auxi1[i]=max(auxi1[i],c[i].fs-e[i]);continue;} auxi1[i]=max(auxi1[i-1],c[i].fs-e[i]); } for(int i=0;i<n;i++){ ans[c[i].sd]=max(auxi[i],auxi1[i]); if(i==n-1){ans[c[i+1].sd]=auxi1[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...