Submission #1273165

#TimeUsernameProblemLanguageResultExecution timeMemory
1273165Mauricio_CruzJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
77 ms19620 KiB
#include <bits/stdc++.h> using namespace std; #define ios ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define f first #define s second #define pb push_back #define ve vector #define pii pair<int,int> #define vi vector<int> #define fr(n)for(int i=0;i<n;i++) #define int long long int32_t main(){ ios; int n; cin>>n; ve<pii> a(n+1),b(n); for(int i=0;i<=n;i++){ int k; cin>>k; a[i]={k,i}; } for(int i=0;i<n;i++){ int k; cin>>k; b[i]={k,i}; } ve<pii> x=a,y=b; sort(x.begin(),x.end()); sort(y.begin(),y.end()); vi r1(n+2,0),r2(n+2,0); for(int i=0;i<n;i++){ r1[i]=max(0LL,x[i].f-y[i].f); if(i)r1[i]=max(r1[i],r1[i-1]); } map<int,int>m; for(int i=n-1;i>=0;i--){ r2[i]=max(0LL,x[i+1].f-y[i].f); r2[i]=max(r2[i],r2[i+1]); } vi r(n+1,0); for(int i=0;i<=n;i++){ int res=r2[i]; if(i)res=max(res,r1[i-1]); r[x[i].s]=res; } for(int i:r)cout<<i<<" "; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...