wrong answer again……
查看原帖
wrong answer again……
955954
Miracle_InDream楼主2023/8/16 17:55
#include<bits/stdc++.h>
using namespace std;
int n;int heap_size;
int a[100005],b[100005];
struct node{
	int s;
	int numa;
}heap[100005];
void shift_up(int rt){
	while(rt>1&&heap[rt].s<heap[rt>>1].s)
	{
		swap(heap[rt],heap[rt/2]);
		rt/=2;
	}
}
void push_down(int rt)
{
	int min1=rt;
	if(rt*2<=heap_size&&heap[rt*2].s<heap[rt].s)
		min1=rt*2;
	if(rt*2+1<=heap_size&&heap[rt*2+1].s<heap[rt].s)
		min1=rt*2+1;
	if(rt!=min1)
	{
		swap(heap[rt].s,heap[min1].s);
		push_down(min1);
	}
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<=n;i++)
	{
		cin>>b[i];
	}
	for(int i=1;i<=n;i++)
	{
		heap_size++;
		heap[heap_size].s=a[1]+b[i];
		heap[heap_size].numa=1;
		shift_up(i);
	}
	return 0;
}

搞点有个性的开头~

2023/8/16 17:55
加载中...