Submission #334303

#TimeUsernameProblemLanguageResultExecution timeMemory
334303limabeansJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
110 ms10092 KiB
#include <bits/stdc++.h> using namespace std; template<typename T> void out(T x) { cout << x << endl; exit(0); } #define watch(x) cout << (#x) << " is " << (x) << endl using ll = long long; const int maxn = 1e6 + 5; int n; pair<int,int> a[maxn]; int b[maxn]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n; for (int i=0; i<n+1; i++) { cin>>a[i].first; a[i].second=i; } for (int i=0; i<n; i++) { cin>>b[i]; } sort(a,a+n+1); sort(b,b+n); vector<int> ans(n+1); vector<int> suf(n+2,0); for (int i=n; i>0; i--) { suf[i] = max(suf[i+1], max(0, a[i].first-b[i-1])); } int pre = 0; for (int i=0; i<n+1; i++) { int skipi = a[i].second; int cur = max(pre, suf[i+1]); ans[skipi] = cur; pre = max(pre, max(0, a[i].first-b[i])); } for (int i=0; i<n+1; i++) { cout<<ans[i]<<" "; } cout<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...