KMIN - KMIN
Tác giả: khuc_tuan
Ngôn ngữ: C++
#include <iostream>
#include <queue>
#include <cstdio>
using namespace std;
int a[50050], b[50050];
int m, n, k;
struct cmp {
bool operator()(pair<int,int> p1, pair<int,int> p2) {
return a[p1.first]+b[p1.second] > a[p2.first]+b[p2.second];
}
};
priority_queue<pair<int,int>, vector<pair<int,int> >, cmp > q;
int main() {
scanf("%d%d%d", &m, &n, &k);
for(int i=0;i<m;++i) scanf("%d", a+i);
for(int i=0;i<n;++i) scanf("%d", b+i);
sort( a, a+m);
sort( b, b+n);
for(int i=0;i<m;++i) q.push( make_pair( i, 0) );
for(int kk=0;kk<k;++kk) {
pair<int,int> p = q.top();
q.pop();
printf("%d\n", a[p.first] + b[p.second]);
if(p.second+1<n) q.push( make_pair( p.first, p.second+1) );
}
return 0;
}