제출 #212141

#제출 시각아이디문제언어결과실행 시간메모리
212141kshitij_sodaniJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
302 ms24920 KiB
#include <iostream> #include <bits/stdc++.h> using namespace std; typedef long long llo; #define mp make_pair #define pb push_back #define a first #define b second int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); llo n; cin>>n; llo ac; vector<pair<llo,llo>> aa; vector<pair<llo,llo>> bb; for(llo i=0;i<n+1;i++){ cin>>ac; aa.pb({ac,i}); } for(llo j=0;j<n;j++){ cin>>ac; bb.pb({ac,j}); } sort(aa.begin(),aa.end()); sort(bb.begin(),bb.end()); llo ans[n]; multiset<llo,std::greater<llo>> cc; for(llo i=0;i<n;i++){ ans[i]=aa[i].a-bb[i].a; cc.insert(ans[i]); } llo ans2[n]; ans2[aa[n].b]=max(*(cc.begin()),(llo)0); for(llo i=n-1;i>=0;i--){ auto it=cc.find(ans[i]); cc.erase(it); ans[i]=aa[i+1].a-aa[i].a+ans[i]; cc.insert(ans[i]); // cout<<i<<" "<<ans[i]<<endl; ans2[aa[i].b]=max(*(cc.begin()),(llo)0); } for(llo i=0;i<n+1;i++){ cout<<ans2[i]<<" "; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...