Submission #954022

#TimeUsernameProblemLanguageResultExecution timeMemory
954022ALTAKEXEA Plus B (IOI23_aplusb)C++17
100 / 100
43 ms6924 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> smallest_sums(int N, vector<int> A, vector<int> B)
{
	int n = N;
	auto a = A, b = B;
	priority_queue<tuple<int, int, int>, vector<tuple<int, int, int>>, greater<>> pq;
	for (int i = 0; i < n; i++)
		pq.push({a[i] + b[0], i, 0});
	vector<int> ans;
	while (ans.size() < n)
	{
		int val, x, y;
		tie(val, x, y) = pq.top();
		pq.pop();
		ans.push_back(val);
		if (y + 1 < n)
			pq.push({a[x] + b[y + 1], x, y + 1});
	}
	return ans;
}

Compilation message (stderr)

aplusb.cpp: In function 'std::vector<int> smallest_sums(int, std::vector<int>, std::vector<int>)':
aplusb.cpp:11:20: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   11 |  while (ans.size() < n)
      |         ~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...