Submission #545954

#TimeUsernameProblemLanguageResultExecution timeMemory
545954tmn2005Just Long Neckties (JOI20_ho_t1)C++17
100 / 100
137 ms15576 KiB
#include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> #include<bits/stdc++.h> using namespace __gnu_pbds; using namespace std; typedef long long ll; #define fr first #define sc second #define mk make_pair #define pb push_back #define pob pop_back #define pf push_front #define pof pop_front #define int long long #define pii pair<int,int> #define piii pair<int,pii> #define all(s) s.begin(), s.end() #define allr(s) s.rbegin(), s.rend() #define NeedForSpeed ios::sync_with_stdio(0), cin.tie(0) #define ordered_set tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> const int N = 2e5 + 12; int n, m, k, a[N], b[N], pref[N], suff[N], ans[N]; vector<int>p; bool cmp(int i, int j){ return a[i] < a[j]; } void solve(){ cin>>n; for(int i=0; i<=n; i++){ cin>>a[i]; p.pb(i); }sort(all(p), cmp); for(int i=0; i<n; i++){ cin>>b[i]; }sort(b, b+n); pref[0] = max(0ll, a[p[0]] - b[0]); for(int i=1; i<n; i++){ pref[i] = max(pref[i-1], a[p[i]] - b[i]); } for(int i=n; i>=1; i--){ suff[i] = max(suff[i+1], a[p[i]] - b[i-1]); } ans[p[0]] = suff[1]; ans[p[n]] = pref[n-1]; for(int i=1; i<n; i++){ ans[p[i]] = max(pref[i-1], suff[i+1]); } for(int i=0; i<=n; i++)cout<<ans[i]<<" "; } main(){ NeedForSpeed; int T = 1; // cin >> T; while(T--){ solve(); } return 0; }

Compilation message (stderr)

ho_t1.cpp:60:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   60 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...