제출 #763046

#제출 시각아이디문제언어결과실행 시간메모리
763046vjudge1Just Long Neckties (JOI20_ho_t1)C++17
9 / 100
147 ms21128 KiB
#ifdef MINHDEPTRAI #include "/Library/Developer/CommandLineTools/usr/include/c++/v1/bits/stdc++.h" #include <chrono> #define __gcd(a, b) gcd(a, b) using namespace std ::chrono; #else #include <bits/stdc++.h> #endif using namespace std; #define foru(i, a, b) for(int i = a; i <= b; ++i) #define ford(i, a, b) for(int i = a; i >= b; --i) #define IOS ios_base:: sync_with_stdio(false); cin.tie(0); cout.tie(0); #define mp(a, b) make_pair(a, b) #define endl '\n' #define int long long const int maxN = 2e5+ 5; const int mod = 998244353; const long long inf = 1e17; int n, arr[maxN], b[maxN], ans[maxN]; int prefix[maxN], suffix[maxN]; map<int, int> pos; bool used[maxN]; signed main(){ // freopen("input.txt", "r", stdin); // freopen("output1.txt", "w", stdout); // input IOS cin >> n; foru(i, 1, n + 1) { cin >> arr[i]; pos[arr[i]] = i; } foru(i, 1, n){ cin >> b[i]; } sort(arr + 1, arr + 2 + n); sort(b + 1, b + 1 + n); prefix[0] = 0; foru(i, 1, n){ prefix[i] = max( prefix[i - 1], max(arr[i] - b[i], 0ll)); } suffix[n + 1] = 0; ford(i, n, 1){ suffix[i] = max(suffix[i + 1], arr[i + 1] - b[i]); } foru(i, 1, n + 1){ ans[pos[arr[i]]] = max(prefix[i - 1], suffix[i]); } foru(i, 1, n + 1) cout << ans[i] << " "; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...