Submission #840971

#TimeUsernameProblemLanguageResultExecution timeMemory
840971Desh03A Plus B (IOI23_aplusb)C++17
100 / 100
88 ms13192 KiB
#include <bits/stdc++.h> using namespace std; vector<int> smallest_sums(int n, vector<int> a, vector<int> b) { priority_queue<tuple<int, int, int>, vector<tuple<int, int, int>>, greater<tuple<int, int, int>>> q; q.push({a[0] + b[0], 0, 0}); set<pair<int, int>> s; vector<int> v; while (n--) { auto [p, i, j] = q.top(); q.pop(); v.push_back(p); if (s.find({i + 1, j}) == s.end()) { q.push({a[i + 1] + b[j], i + 1, j}); s.insert({i + 1, j}); } if (s.find({i, j + 1}) == s.end()) { q.push({a[i] + b[j + 1], i, j + 1}); s.insert({i, j + 1}); } } return v; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...