题意:给定n长度串,删除d个使得剩下的值最大
分析:一一比较,小于就删除。
#include<iostream>
#include<string>
#include<sstream>
#include<set>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
int main() {
int n, d;
string s;
while (cin >> n >> d && n&&d) {
vector<char>t;
cin >> s;
int len = n - d;
for (int i = 0; i < n; i++) {
if (t.size() > 0) {
int p = t.size() - 1;
while (d&&p >= 0&& t[p] < s[i] ) {
t.erase(t.begin() + p--);
d--;
}
}
if (t.size() != len)t.push_back(s[i]);
else d--;
}
for (int i = 0; i < t.size(); i++)cout << t[i];
cout << endl;
}
return 0;
}