1. 模拟题,按照题目的要求做即可,但是要细心,比较繁琐,尤其是边界问题;
2. 20分钟写完程序,但是WA了七八次,检查了一个小时,最后加上循环输入输出,居然AC了,欲哭无泪。
#include <iostream> #include <cstring> #include <algorithm> using namespace std; const int MAXn = 10010; bool cmp(int a, int b) { return a < b; } int main() { int n, m, i, j, k, l, p, rmovList[MAXn], curList[MAXn], rmovNum[MAXn]; char cmd; while (cin >> n >> m) { for (i = 0; i < m; i++) cin >> rmovNum[i]; memset(curList, 0, sizeof(curList)); p = 1; j = 1; k = 1; while (1) { cin >> cmd; if (cmd == 'e') break; else if (cmd == 'a') { cin >> curList[j]; sort(curList + 1, curList + j + 1, cmp); j++; continue; } else if (cmd == 'r') { if (p == 1) { rmovList[k] = curList[1]; for (l = 2; l < j; l++) curList[l-1] = curList[l]; k++; j--; continue; } else if (p == 2) { rmovList[k] = curList[j-1]; j--; k++; continue; } } else if (cmd == 'p') cin >> p; } for (i = 0; i < m; i++) { if(rmovNum[i] > k - 1) cout << -1 << endl; else cout << rmovList[rmovNum[i]] << endl; } cout << endl; } return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步