Submission #881744

#TimeUsernameProblemLanguageResultExecution timeMemory
881744spdlingA Plus B (IOI23_aplusb)C++17
10 / 100
1 ms348 KiB
#include<vector>
#include<set>
using namespace std;
vector<int> smallest_sums(int N, vector<int> A, vector<int> B) {
  vector<int> ans;
  int ans_n = 0;
  set<pair<int, pair<int, int>>> cands;
  for (int i = 0 ; i < N; ++i) {
    cands.insert({A[i] + B[0], {i, 0}});
  }
  while (ans_n < N*N) {
    auto cur = cands.begin();
    ans.push_back(cur->first);
    ans_n++;
 
    int i = cur->second.first;
    int j = cur->second.second;
    cands.erase(cur);
    if (j+1 < N) {
      cands.insert({A[i] + B[j+1], {i,j+1}});
    }
  }
 
  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...