蓝桥杯T5
  • 板块学术版
  • 楼主zhouzihang3
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/12/17 11:38
  • 上次更新2023/12/17 14:31:08
查看原帖
蓝桥杯T5
615166
zhouzihang3楼主2023/12/17 11:38

概述:给长度小于501的数字a,删掉n个数使这个剩下的数最大

输入 69134 2

输出 934

#include<iostream>
#include<cmath>
using namespace std;
string a;
int len;
int n;
int b,mx=-1;
int main(){
    cin>>a>>n;
    while(true){
        mx=b;
        for(int i=b;i<=b+n;i++){
            if(a[mx]<a[i]) mx=i;
        }
        for(int i=b;i<mx;i++){
            a[i]=' ';
            n--;
            if(n==0) break;
        }
        if(n==0)break;
        b=mx+1;
    }
    len=a.size();
    for(int i=0;i<len;i++){
        if(a[i]!=' ') cout<<a[i];
    }
    return 0;
}

错了两个点求救

2023/12/17 11:38
加载中...