제출 #1174284

#제출 시각아이디문제언어결과실행 시간메모리
1174284Haciyev12Just Long Neckties (JOI20_ho_t1)C++20
100 / 100
76 ms21104 KiB
#include "bits/stdc++.h" #define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define ll long long #define pb push_back #define in insert #define F first #define S second #define vll vector<ll> #define all(v) v.begin(),v.end() #define rep(a, b, c) for (int(a) = (b); (a) < (c); (a)++)//i, 0, n #define endl '\n' #define pii pair<ll,ll> #define yes cout << "Yes" << endl; #define no cout << "No" << endl; using namespace std; const ll INF = 1e18, mod = 1e9 + 7, N = 2e5 + 5; ll gcd(ll a, ll b) { return b == 0 ? a : gcd(b, a % b); } ll lcm(ll a, ll b) { return (a / gcd(a, b)) * b; } ll modpow(ll a, ll b){ ll ans = 1; while(b > 0){ if(b % 2 == 1){ ans *= a; ans = ans%mod; } a *= a; a %= mod; b = b >> 1; } return ans % mod; } ll inv(ll a){ return (modpow(a,mod-2)) % mod; } vll g[N]; ll used[N]; ll us[N]; ll st, end; ll cnt = 0; bool t = false; void dfs(ll s){ used[s] = 1; for(auto i : g[s]){ if(!used[i]){ cnt++; dfs(i); } if(i == st && cnt!=1){ t = true; } } } void solve(){ ll n; cin >> n; ll a[n + 1],b[n]; vector<pii> v,v1; for(int i = 0; i < n + 1; i++){ cin >> a[i]; v.pb({a[i], i}); } for(int i = 0; i < n; i++){ cin >> b[i]; v1.pb({b[i], i}); } sort(all(v)); sort(all(v1)); vll pre(n + 2), suf(n + 2); pre[0] = v[0].F - v1[0].F; for(int i =1; i < n; i++){ pre[i] = max(pre[i - 1], v[i].F - v1[i].F); } suf[n - 1] = v[n].F - v1[n - 1].F; for(int i = n - 2; i >= 0; i--){ suf[i] = max(suf[i + 1], v[i + 1].F - v1[i].F); } ll ans[n + 2]; ans[v[0].S] = suf[0]; for(int i = 1; i < n+1; i++){ ans[v[i].S] = max(pre[i - 1], suf[i]); } for(int i = 0 ; i < n + 1; i++){ cout << ans[i] << " "; } } int main() { fast; ll t = 1; // cin >> t; while (t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...