10分求调,被捆绑干掉了
查看原帖
10分求调,被捆绑干掉了
948249
tkm2013楼主2024/8/5 12:58
#include<bits/stdc++.h>
#include<queue>
using namespace std;
priority_queue<int,vector<int>,greater<int> > q;
int t[30];
int main(){
	int n,l,r;
	cin>>n>>l>>r;
	string s;
	cin>>s;
	s=' '+s;
	for(int i=1;i<=n;i++){
		q.push(s[i]-'a'+1); 
	}
	for(int i=1;i<=l;i++){
		t[q.top()]++;
		q.pop();
	}
	int f=0;
	r-=l;
	for(int i=1;i<=n;i++){
		if(t[s[i]-'a'+1]>0){
			cout<<s[i];
			t[s[i]-'a'+1]--;
			continue;
		}
		if(s[i]=='a'){
			if(f<r){
				cout<<'a';
				f++;
			}else{
				cout<<'b';
			}
		}else{
			cout<<'a';
		}
	}
	return 0;
}
2024/8/5 12:58
加载中...