Submission #1205196

#TimeUsernameProblemLanguageResultExecution timeMemory
1205196DJ035A Plus B (IOI23_aplusb)C++20
0 / 100
1096 ms328 KiB
#include "aplusb.h" #include <bits/stdc++.h> #define all(v) (v).begin(), (v).end() using namespace std; using ll = int; const ll MEM = 1e5 + 4; vector<int> smallest_sums(int N, std::vector<int> A, std::vector<int> B) { ll l = 0, r = 2e9 + 7; ll n = N; while (l <= r) { ll mid = l + r >> 1; ll o = 0, j = n - 1; for (int i = 0; i < n; i++) { for (; A[i] + B[j] > mid && j >= 0; j--) ; o += j + 1; } if (o >= n) r = mid - 1; else l = mid + 1; } vector<ll> ans; r = 0; ll j = n - 1; for (int i = 0; i < n; i++) { for (; A[i] + B[j] >= l && j >= 0; j--) ; for (int k = 0; k <= j; k++) { ans.push_back(A[i] + B[k]); r++; } } sort(all(ans)); for (int i = r; i < n; i++) ans.push_back(l); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...