Submission #1343315

#TimeUsernameProblemLanguageResultExecution timeMemory
1343315minhtienJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
339 ms15484 KiB
#include <bits/stdc++.h>
#define ii pair<int,int>
#define fi first
#define se second
using namespace std;
const int N=2e5+6;
const int inf=1e9+7;
int a[N],b[N];
int maxi=0;
vector<ii>v2;
multiset<int,greater<int>>v1;
int a2[N];
int n;
int main()
{
    cin >>n;
    v2.push_back({0,0});
    for(int i=1;i<=n+1;i++){
        cin >> a[i];
        v2.push_back({a[i],i});
    }
    for(int j=1;j<=n;j++){
        cin >> b[j];
    }
    sort(v2.begin(),v2.end());
    sort(b+1,b+1+n);
    for(int j=2;j<=n+1;j++){
        v1.insert(v2[j].fi-b[j-1]);
    }
    if(v1.size()>=1){
        auto it=v1.begin();
        a2[v2[1].se]=*it;
    }
    else{
        a2[v2[1].se]=0;
    }
    for(int i=2;i<=n+1;i++){
        int s=v2[i].fi-b[i-1];
        v1.erase(v1.find(s));
        v1.insert(v2[i-1].fi-b[i-1]);
        auto it=v1.begin();
        a2[v2[i].se]=*it;
    }
    for(int i=1;i<=n+1;i++){
        cout << a2[i] << " ";
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...