Submission #566916

#TimeUsernameProblemLanguageResultExecution timeMemory
566916shrimbJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
137 ms15064 KiB
#pragma GCC optimize ("Ofast") #pragma GCC target ("avx,avx2,fma") #include"bits/stdc++.h" using namespace std; #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; template<class x> using ordered_set = tree<x, null_type,less<x>, rb_tree_tag,tree_order_statistics_node_update>; #define int long long #define endl '\n' #define mod 1000000007 //\ #define mod 1686876991 signed main () { cin.tie(0)->sync_with_stdio(0); int n; cin >> n; pair<int,int> a[n + 1]; int b[n]; for (int i = 0 ; i < n + 1 ; i++) cin >> a[i].first, a[i].second = i; for (int i = 0 ; i < n ; i++) cin >> b[i]; sort(a, a + n + 1); sort(b, b + n); int pref[n]; for (int i = 0 ; i < n ; i++) { pref[i] = a[i].first - b[i]; if (i) pref[i] = max(pref[i-1], pref[i]); } int suff[n+2]; memset(suff, 0, sizeof suff); for (int i = n - 1 ; i >= 0 ; i--) { suff[i] = a[i+1].first - b[i]; if (i < n - 1) suff[i] = max(suff[i+1], suff[i]); } int c[n+2]; memset(c,0,sizeof c); for (int i = 0 ; i < n + 1 ; i++) { c[a[i].second] = 0; if (i) c[a[i].second] = pref[i-1]; c[a[i].second] = max(c[a[i].second], suff[i]); } for (int i = 0 ; i < n + 1 ; i++) cout << c[i] << " "; }

Compilation message (stderr)

ho_t1.cpp:17:1: warning: multi-line comment [-Wcomment]
   17 | //\
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...