关于CSP-J2020 T2
  • 板块灌水区
  • 楼主LYXin
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/11/8 09:33
  • 上次更新2023/11/5 08:31:16
查看原帖
关于CSP-J2020 T2
208059
LYXin楼主2020/11/8 09:33

RT,求助大佬,为什么我T2插排+二分优化会MLE,不应该呀

附代码:

#include<cstdio>
using namespace std;
const int N=1e5+5;
int n,w,a[N],x,crwz,fsx;
int twof(int l,int r){
	if(l+1==r) return r;
	int mid=(l+r)/2;
	if(a[mid]<x) return twof(l,mid-1);
	else if(a[mid]>x) return twof(mid+1,r);
	else return mid+1;
}
int mmax(int x,int y){
	return x>y?x:y;
}
int main(){
	freopen("live.in","r",stdin);
	freopen("live.out","w",stdout);
	scanf("%d%d",&n,&w);
	for(int i=1;i<=n;i++){
		scanf("%d",&x);
		if(i==1) a[1]=x;
		else{
			if(x>a[1]) crwz=1;
			else if(x<a[i-1]) crwz=i;
			else crwz=twof(1,i-1);
			for(int j=i-1;j>=crwz;j--)
				a[j+1]=a[j];
			a[crwz]=x;
		}
		fsx=mmax(1,i*w/100);
		printf("%d ",a[fsx]);
	}
	return 0;
}
2020/11/8 09:33
加载中...