Submission #540943

#TimeUsernameProblemLanguageResultExecution timeMemory
540943Cookie197Just Long Neckties (JOI20_ho_t1)C++17
100 / 100
326 ms17856 KiB
#include<iostream> #include<vector> #include<set> #include<algorithm> using namespace std; #define ll long long #define mp make_pair #define pii pair<ll,ll> #define endl "\n" #define out(x) cout<< #x << " = " << x << endl ll b[200005],ans[200005]; pii a[200005]; int n; multiset<ll> ms; signed main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>n; for (int i=1;i<=n+1;i++) cin>>a[i].first, a[i].second = i; for (int i=1;i<=n;i++) cin>>b[i]; sort(a+1,a+2+n); sort(b+1,b+1+n); for (int i=1;i<=n;i++) ms.insert (max(0ll, a[i+1].first-b[i])); ans[a[1].second] = *(--ms.end()); for (int i=2;i<=n+1;i++){ //for (ll u:ms) cout<<u<<" "; //cout<<endl; ll orig = max(0ll, a[i].first - b[i-1]); ll new_ = max(0ll, a[i-1].first - b[i-1]); ms.insert(new_); ms.erase(ms.lower_bound(orig)); ans[a[i].second] = *(--ms.end()); } for (int i=1;i<=n+1;i++) cout<<ans[i]<<" "; cout<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...