单调栈做的,用例都过了,提交0%,不知道哪错了题意:输入一个n位正整数,输入删除的位数m,输入正整数;输出删掉m位后最大的数(相对位置不变);测试用例: 输入: 5 2 19352 输出: 952;解释: 删掉1和3后最大的数是952```cpp#include #include using namespace std;int main() { int n, m; cin >> n >> m; int num; cin >> num; vector nums(n); for (int i = n - 1; i >= 0; i--) { nums[i] = num % 10; num = num / 10; } stack st; st.push(nums[0]); int flag = 0; for (int i = 1; i if (flag while (!st.empty() && st.top() st.pop(); flag++; if (flag == m) break; } } st.push(nums[i]); } int ans = 0, cnt = 1; while(!st.empty()) { ans = ans + st.top() * cnt; cnt = cnt * 10; st.pop(); } cout }```