社区讨论

一个TLE点,求助!!!

P7072[CSP-J 2020] 直播获奖参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m22e05g4
此快照首次捕获于
2024/10/10 05:33
去年
此快照最后确认于
2025/11/04 17:32
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n,w,p[100001],jh,a[100001];
int main()
{
	cin>>n>>w;
	
	for(int i=1;i<=n;i++)
	{
		cin>>p[i];
		int left=1,right=i-1,temp=p[i],mid;
		while(left<=right)
		{
			mid=ceil(((double)left+right)/2);
			if(temp<p[mid])
				left=mid+1;
			else
				right=mid-1;
		}
		for(int j=i-1;j>=left;j--)
			p[j+1]=p[j];
		p[left]=temp;	
		jh=max(1,(int)floor(i*w/100));
			cout<<p[jh]<<" ";	
	}
	return 0;
}
这是程序。
本蒟蒻真想不明白了,18、19这仨样本都是100000,偏偏19是TLE

回复

2 条回复,欢迎继续交流。

正在加载回复...