Submission #1194020

#TimeUsernameProblemLanguageResultExecution timeMemory
1194020exoworldgdA Plus B (IOI23_aplusb)C++20
100 / 100
92 ms12796 KiB
#include <bits/stdc++.h> #define tiii tuple<int,int,int> #define pii pair<int,int> using namespace std; vector<int> smallest_sums(int n, vector<int> a, vector<int> b) { sort(a.begin(),a.end()); sort(b.begin(),b.end()); vector<int> res; priority_queue<tiii,vector<tiii>,greater<tiii>> pq; set<pii> visited; pq.emplace(a[0]+b[0],0,0); visited.emplace(0,0); while (res.size() < n) { auto [s,i,j] = pq.top(); pq.pop(); res.push_back(s); if (i+1 < n && !visited.count({i+1,j})) { pq.emplace(a[i+1]+b[j],i+1,j); visited.emplace(i+1,j); } if (j+1 < n && !visited.count({i,j+1})) { pq.emplace(a[i]+b[j+1],i,j+1); visited.emplace(i,j+1); } } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...