Submission #342699

#TimeUsernameProblemLanguageResultExecution timeMemory
342699blueJust Long Neckties (JOI20_ho_t1)C++11
100 / 100
473 ms18624 KiB
#include <iostream> #include <set> #include <algorithm> using namespace std; int A[200001]; int main() { int N; cin >> N; for(int i = 0; i < N+1; i++) cin >> A[i]; int I[N+1]; for(int i = 0; i < N+1; i++) I[i] = i; sort(I, I+N+1, [] (int p, int q) { return A[p] < A[q]; }); int B[N]; for(int i = 0; i < N; i++) cin >> B[i]; sort(B, B+N); multiset<int> strange; for(int i = 0; i < N; i++) strange.insert(max(A[I[i]] - B[i], 0)); int res[N+1]; res[I[N]] = *strange.rbegin(); for(int i = N-1; i >= 0; i--) { strange.erase(strange.find(max(A[I[i]] - B[i], 0))); strange.insert(max(A[I[i+1]] - B[i], 0)); res[I[i]] = *strange.rbegin(); } for(int i = 0; i < N+1; i++) cout << res[i] << ' '; cout << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...