제출 #1158324

#제출 시각아이디문제언어결과실행 시간메모리
1158324dnnndaJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
202 ms15712 KiB
#include<bits/stdc++.h> using namespace std; #define S second #define F first #define ll long long //#define int long long //#pragma GCC optimize("Ofast, unroll-loop") //#pragma GCC target("avx,avx2") #pragma GCC optimize("O3") const int inf=0x3f3f3f3f; const ll inff=0x3f3f3f3f3f3f3f3f; //const int X=1000000007; const int X=998244353; int a[200005], b[200005], ans[200005]; vector<pair<int,int>> p; multiset<int> s; signed main(){ ios::sync_with_stdio(0), cin.tie(0); int n; cin >> n; for(int i=0 ; i<n+1 ; i++) cin >> a[i]; for(int i=0 ; i<n ; i++) cin >> b[i]; for(int i=0 ; i<n+1 ; i++) p.push_back({a[i],i}); sort(p.begin(),p.end()); sort(a,a+n+1); sort(b,b+n); for(int i=0 ; i<n ; i++) s.insert(a[i+1]-b[i]); ans[p[0].S]=*s.rbegin(); for(int i=1 ; i<=n ; i++){ s.erase(s.find(a[i]-b[i-1])); s.insert(a[i-1]-b[i-1]); ans[p[i].S]=*s.rbegin(); } for(int i=0 ; i<=n ; i++) cout << max(0,ans[i]) << (i==n ? '\n' : ' '); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...