Submission #991258

#TimeUsernameProblemLanguageResultExecution timeMemory
991258VMaksimoski008A Plus B (IOI23_aplusb)C++17
10 / 100
1 ms348 KiB
#include "aplusb.h" #include <bits/stdc++.h> using namespace std; using Node = array<int, 3>; vector<int> smallest_sums(int N, std::vector<int> A, std::vector<int> B) { vector<int> ans; priority_queue<Node, vector<Node>, greater<Node> > pq; pq.push({ A[0] + B[0], 0, 0 }); for(int i=1; i<N; i++) pq.push({ A[i] + B[0], i, 0 }); for(int i=1; i<N; i++) pq.push({ A[0] + B[i], 0, i }); for(int it=0; it<N; it++) { auto [val, i, j] = pq.top(); pq.pop(); ans.push_back(val); if(i + 1 < N) pq.push({ A[i+1] + B[j], i+1, j }); if(j + 1 < N) pq.push({ 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...