Submission #1278141

#TimeUsernameProblemLanguageResultExecution timeMemory
1278141quanduongxuan12Just Long Neckties (JOI20_ho_t1)C++20
100 / 100
66 ms7052 KiB
#include <bits/stdc++.h> using namespace std; #define name "neckties" #define MAXN 200005 #define pb push_back #define pf push_front #define ll long long #define ii pair<int, int> #define fs first #define sc second #define ill pair<int, ll> #define lli pair<ll, int> #define llll pair<ll, ll> #define all(v) v.begin(),v.end() #define uni(v) v.erase(unique(all(v)),v.end()) #define bit(n,i) (((n)>>(i))&1) #define FOR(i,a,b) for (int i=(a),_b=(b); i<=_b; i++) #define FORD(i,a,b) for (int i=(a),_b=(b); i>=_b; i--) #define MASK(i) (1LL<<(i)) const int INF=1e9; const int MOD=1e9+7; void add(int &u, int v){ u+=v; if (u>=MOD) u-=MOD; } void sub(int &u, int v){ u-=v; if (u<0) u+=MOD; } void minimize(int &u, int v){ u=min(u,v); } void maximize(int &u, int v){ u=max(u,v); } long long Rand(long long l, long long r){ ll tmp=0; FOR(i,1,4) tmp=((tmp<<15)^(((1<<15)-1)&rand())); return l+tmp%(r-l+1); } int n; ii a[MAXN]; int b[MAXN]; int l[MAXN],r[MAXN]; int ans[MAXN]; int main() { ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); cin>>n; FOR(i,1,n+1){ cin>>a[i].fs; a[i].sc=i; } FOR(i,1,n) cin>>b[i]; sort(a+1,a+n+1+1); sort(b+1,b+n+1); FOR(i,1,n){ l[i]=max(l[i-1],max(a[i].fs-b[i],0)); } FORD(i,n+1,2){ r[i]=max(r[i+1],max(a[i].fs-b[i-1],0)); } ans[a[1].sc]=r[2]; //cout<<r[2]<<" "; FOR(i,2,n){ int x=max(l[i-1],r[i+1]); //cout<<x<<" "; ans[a[i].sc]=x; } //cout<<l[n]; ans[a[n+1].sc]=l[n]; FOR(i,1,n+1) cout<<ans[i]<<" "; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...