Submission #201566

#TimeUsernameProblemLanguageResultExecution timeMemory
201566theStaticMindJust Long Neckties (JOI20_ho_t1)C++14
100 / 100
313 ms20324 KiB
#include<bits/stdc++.h>
#define pb push_back
#define ii pair<int,int>
#define all(x) (x).begin(),(x).end()
#define INF 100000000000000000
#define modulo 1000000007
#define mod 998244353
#define int long long int
using namespace std;

int32_t main(){
      ios_base::sync_with_stdio(false);
      cin.tie(NULL);
//      freopen("q.gir","r",stdin);
//      freopen("q.cik","w",stdout);
      int n;
      cin >> n;
      vector<ii> W;
      vector<int> arr;
      map<int,int> data;
      vector<int> ans(n + 1, INF);
      for(int i = 0; i <= n; i++){
            int x;
            cin >> x;
            W.pb({x, i});
      }
      for(int i = 0; i < n; i++){
            int x;
            cin >> x;
            arr.pb(x);
      }
      sort(all(W));
      sort(all(arr));
      for(int i = 1; i <= n; i++){
            data[W[i].first - arr[i - 1]]++;
      }
      ans[W[0].second] = data.rbegin()->first;
      for(int i = 1; i <= n; i++){
            if(--data[W[i].first - arr[i - 1]] == 0)data.erase(W[i].first - arr[i - 1]);
            data[W[i - 1].first - arr[i - 1]]++;
            ans[W[i].second] = data.rbegin()->first;
      }
      for(int i = 0; i <= n; i++)cout << max(0ll, ans[i]) << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...