2016 Personal Training #1 Div.2 D - 1D Cafeteria (B) Gym 100989D
来源:互联网 发布:高校教师招聘考试知乎 编辑:程序博客网 时间:2024/06/05 06:17
题意:给你N个数编号从1到N每个数代表座位个数,然后Q行每行in num的就是进来num个人你需要做的就是将这num个人放到编号最小但座位数大于等于num的地方,out num就是编号为num的地方人离开,那么你就可以在这坐人了,然后每个in输入输出你所选的地方,如果没有地方可选就输出-1;
这题用set做,需要知道set<pair<int,int> >用法
#include <bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3fchar str[10];int a[100005];int main(){ int n,m,num; scanf("%d%d",&n,&m); set<pair<int ,int> >s; set<pair<int,int> > ::iterator it; for(int i=1;i<=n;i++) { scanf("%d",&a[i]); s.insert(make_pair(a[i],i)); } while(m--) { cin>>str>>num; if(str[0]=='i') { it=s.lower_bound(make_pair(num,0)); if(it==s.end()) { printf("-1\n"); } else { printf("%d\n",it->second); s.erase(it); } } else { s.insert(make_pair(a[num],num)); } }}
0 0
- 2016 Personal Training #1 Div.2 D - 1D Cafeteria (B) Gym 100989D
- CodeForces Gym 100989D 1D Cafeteria (B)
- CodeForces Gym 100989C 1D Cafeteria (A)
- 2016 Personal Training #5 Div.2 Gym 100637J
- 2016 Personal Training #8 Div.2 A B H
- 2016 Personal Training #11 Div.2 B G J
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(A、B、C、D)题解
- Codeforces 453 B Little Pony and Harmony Chest(Round 259 div.1 B/div.2 D)
- CF 334 div.2-D/div.1-B/603B Moodular Arithmetic
- CF 335 div.1-B/div.2-D/605 B Lazy Student
- Codeforces Round #237 (Div. 2) D. Minesweeper 1D
- Codeforces Round #237 (Div. 2) D Minesweeper 1D
- Codeforces Round #237 (Div. 2)-D. Minesweeper 1D
- Codeforces Round #237 (Div. 2) D. Minesweeper 1D
- Codeforces Round #305 (Div. 2) B D
- Codeforces Round #329 (Div. 2) B, D
- Codeforces Round #421 (Div. 2) B D
- 1D 2D 混合
- SSH权限管理控制到按钮
- 软阈值算法
- 设计模式之装饰者模式
- 【Struts2】让地址栏显示返回实际jsp的的实际位置
- Hexo高级教程之主题开发
- 2016 Personal Training #1 Div.2 D - 1D Cafeteria (B) Gym 100989D
- PHP 程序员10条最容易犯的错误
- servlet之qq四
- CentOS7YUM安装redis数据库及php-redis扩展
- [VB]SqlHelper|DBHelper数据通用访问类 for VB
- PL/SQL直接在表上修改数据
- 2016 杭电多校2解题报告
- Android studio运行JNI程序以及生成.so文件(Windows下)
- c中in6_addr地址和修改in6_addr地址