0分,全RE,求调QAQ
查看原帖
0分,全RE,求调QAQ
602932
NumberTrart楼主2023/1/12 09:49
#include<iostream>
#include<map>
using namespace std;
int n,m;
int a[10005];
map<int,bool> can;
map<int,bool>::iterator it;
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",a+i);
    }
    
    for(int _=1;_<=m;_++)
    {
        can.clear();
        int i=n;
        it=can.end();
        it--;
        while(it->first<a[i])
        {
            can[a[i]]=true;
            it=can.end();
            it--;
            i--;
        }
        a[i]=can.lower_bound(a[i])->first;
        can.erase(a[i]);
        for(it=can.begin();it!=can.end();it++)
        {
            i++;
            a[i]=it->first;
        }
    }
    for(int i=1;i<=n;i++)
        printf("%d ",a[i]);
    return 0;
}
2023/1/12 09:49
加载中...