Submission #1154142

#TimeUsernameProblemLanguageResultExecution timeMemory
1154142AlgorithmWarriorJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
135 ms7116 KiB
#include <bits/stdc++.h> #define MAX 200005 using namespace std; struct str { int val; int poz; }a[MAX]; int b[MAX],dif1[MAX],dif2[MAX],rasp[MAX]; bool crt(str a,str b) { return a.val<b.val; } int main() { int n; cin>>n; int i; for(i=1;i<=n+1;++i) { cin>>a[i].val; a[i].poz=i; } for(i=1;i<=n;++i) cin>>b[i]; sort(a+1,a+n+2,crt); sort(b+1,b+n+1); for(i=1;i<=n;++i) dif1[i]=a[i].val-b[i]; for(i=1;i<=n;++i) dif2[i]=a[i+1].val-b[i]; for(i=1;i<=n;++i) dif1[i]=max(dif1[i],dif1[i-1]); for(i=n;i;--i) dif2[i]=max(dif2[i],dif2[i+1]); for(i=1;i<=n+1;++i) rasp[a[i].poz]=max(dif1[i-1],dif2[i]); for(i=1;i<=n+1;++i) cout<<rasp[i]<<' '; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...