CodeForces Gym 100989D 1D Cafeteria (B)

来源:互联网 发布:淘宝店铺降权处置 编辑:程序博客网 时间:2024/05/16 02:34
读懂题之后就简单很多,就是一个pair<int,int>,然后用set维护就行
#include <cstdio>#include <iostream>#include <algorithm>#include <cmath>#include <queue>#include <cstring>#include <vector>#include <set>using namespace std;#define ll long long#define maxn 100005int N, Q;int num[maxn];set< pair<int, int> > table;set< pair<int, int> >::iterator itor;int main(){//freopen("input.txt", "r", stdin);//freopen("output.txt", "w", stdout);scanf("%d%d", &N, &Q);for (int i = 1; i <= N; ++i){scanf("%d", &num[i]);table.insert(make_pair(num[i], i));}char cmd[10];int tmp;while (Q--){scanf("%s%d", cmd, &tmp);if (cmd[0] == 'i'){itor = table.lower_bound(make_pair(tmp, 0));if (itor == table.end()){printf("-1\n");}else{printf("%d\n", itor->second);table.erase(itor);}}else{table.insert(make_pair(num[tmp], tmp));}}//system("pause");//while (1);return 0;}

0 0
原创粉丝点击