제출 #1294835

#제출 시각아이디문제언어결과실행 시간메모리
1294835ghammazhassanJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
72 ms11768 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <unordered_map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> #include <deque> using namespace std; #define int long long #define endl "\n" #define fi first #define se second const int M=1e9+7; const int inf = 1e14; const int LOG=18; const int N=5e1+5; int n , m , c , w , k , t=1 , q=1 , x , y , z , l , r; void solve(){ cin >> n; vector<pair<int,int>>a(n+1); vector<int>b(n); for (int i=0;i<n+1;i++){ cin >> a[i].fi; a[i].se=i; } sort(a.begin(),a.end()); for (int i=0;i<n;i++){ cin >> b[i]; } sort(b.begin(),b.end()); vector<int>ans(n+1); vector<int>pr(n+1),sf(n+1); pr[0]=max(0ll,a[0].fi-b[0]); for (int i=1;i<n;i++){ pr[i]=max(pr[i-1],max(0ll,a[i].fi-b[i])); } sf[n]=a[n].fi-b[n-1]; for (int i=n-1;i>0;i--){ sf[i]=max(sf[i+1],a[i].fi-b[i-1]); } ans[a[0].se]=sf[1]; ans[a[n].se]=pr[n-1]; for (int i=1;i<n;i++){ ans[a[i].se]=max(pr[i-1],sf[i+1]); } for (int i=0;i<=n;i++){ cout << ans[i] << " "; } cout << endl; } signed main() { ios::sync_with_stdio(0);//DO NOT USE IN INTERACTIVE cin.tie(0), cout.tie(0);//DO NOT USE IN INTERACTIVE cout << fixed << setprecision(9); srand(time(0)); // int t=1; // cin >> t; for (int _=1;_<=t;_++){ solve(); q++; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...