P1631求教
  • 板块学术版
  • 楼主Sukilin
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/2 08:26
  • 上次更新2024/10/2 10:57:34
查看原帖
P1631求教
959201
Sukilin楼主2024/10/2 08:26
#include <iostream>
#include <cstdio>
#include <queue>
const int N = 1e5 + 3;
int a[N], b[N], n;
struct num{
	int x;
	int y;
	int value;
	num(int m, int n) : x(m), y(n) {
		value = a[m] + b[n];
	}
	friend bool operator < (num m,num n) {
		return m.value > n.value;
	}
};
std::priority_queue<num> q;
int main(){
	std::cin >> n;
	for(int i = 1; i <= n; i++) std::cin >> a[i];
	for(int i = 1; i <= n; i++) std::cin >> b[i];
	num a(1, 1);
	q.push(a);
	while(n--) {
		std::cout << q.top().value << " \n"[n==0];
		num m(q.top().x + 1, q.top().y);
		num n(q.top().x, q.top().y + 1);
		q.pop();
		q.push(m);
		q.push(n);
	}
	
	
	return 0;
}

这个 WA on #2~10 需要错误性解析

2024/10/2 08:26
加载中...