【蒟蒻有个问题】关于某一题目
  • 板块灌水区
  • 楼主SalomeJLQ
  • 当前回复8
  • 已保存回复8
  • 发布时间2020/7/24 21:30
  • 上次更新2023/11/6 22:22:25
查看原帖
【蒟蒻有个问题】关于某一题目
246979
SalomeJLQ楼主2020/7/24 21:30

由于原先的那个帖子沉了orz。。。

所以重发一遍

这是之前的求助帖

这是那道题

我的思路是:

读入的时候把距离存到优先队列里。

然后每次取出堆顶砍掉一半再放回去,作为在间隔最长的两个路标之中间擦入一个路标。然后 kk--

whilewhile 循环控制,直到 k=0k=0

好像并没有问题?代码似乎也没有问题啊

结果就没过,下面是代码:

#include<bits/stdc++.h>
using namespace std;
priority_queue<int>juli;
int l,n,k,i,x,y;
int main(){
	cin>>l>>n>>k;
	for(i=0;i<n;i++){
		cin>>x;
		juli.push(x-y);
		y=x;
	}
	while(k>0){
		x=juli.top();
		juli.pop();
		if(x%2==0){x/=2;juli.push(x);}
		else{
			x=x/2+1;
			juli.push(x);
		}
		k--;
	}
	cout<<juli.top();
	return 0;
} 

各位能帮蒟蒻看看吗?

2020/7/24 21:30
加载中...