手测各种数据都能过,但只有30分
  • 板块P1323 删数问题
  • 楼主sgxsz
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/5 23:02
  • 上次更新2023/11/6 12:48:35
查看原帖
手测各种数据都能过,但只有30分
341864
sgxsz楼主2023/11/5 23:02
#include<bits/stdc++.h>
using namespace std;

int a[34000],b[340000];

int main()
{
	int k,m,i,j,w;
	cin>>k>>m;
	
	int len;
	a[len=1]=1;
	for(i=1;len<=10*k;i++){
		a[++len]=a[i]*2+1;
		a[++len]=a[i]*4+5;
	}/*
	for(i=1;i<=len;i++)
		cout<<a[i]<<" ";
	cout<<endl;
	*/
	sort(a+1,a+1+len);
	
	int t,lb=0;
	for(i=1;i<=k;i++){
		
		t=a[i];
		w=10;
		while(w<=t)	w*=10;	w/=10;
		
		while(w){
			b[++lb]=t/w;
			t%=w;
			w/=10;
		}			
	}
	for(i=1;i<=lb;i++)
		cout<<b[i];
	cout<<endl;
	
	i=1;
	int id,maxx;
	while(m&&i<=lb){
		
		id=-1;	maxx=-1;
		for(j=i;j-i<=m&&j<=lb;j++){
			if(b[j]>maxx){
				maxx=b[j];
				id=j;
			}
		}
		m-=(id-i);
		i=id+1;
		cout<<maxx;
	}
	for(;i<=lb;i++)
		cout<<b[i];
	return 0;
}
2023/11/5 23:02
加载中...