noi.ac NOIP2018 全国热身赛 第二场 T1 ball
2024-08-31 14:52:16
【题解】
可以发现每次推的操作就是把序列中每个数变为下一个数,再打一个减一标记;而每次加球的操作就是把球的位置加上标记,再插入到合适的位置。
用set维护即可。
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<set>
#define LL long long
#define rg register
using namespace std;
int n,m,P,cnt;
set<int>s;
inline int read(){
int k=,f=; char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(''<=c&&c<='')k=k*+c-'',c=getchar();
return k*f;
}
int main(){
n=read(); m=read(); P=read();
for(rg int i=;i<=n;i++) s.insert(read());
while(m--){
int opt=read();
if(opt==) s.insert(read()+cnt);
else s.erase(s.begin()),s.insert(P+cnt),cnt++;
}
for(set<int>::iterator it=s.begin();it!=s.end();it++) printf("%d ",*it-cnt);
return ;
}
最新文章
- input框focus时的美化效果
- 聊天室(Java实现)
- UVA 11809 - Floating-Point Numbers
- PL/SQL异常处理方法
- [强连通分量] POJ 2186 Popular Cows
- LPC1768之中断
- windows向ubuntu过渡之常用软件安装
- 介绍一个好用的软件--多个WIN远程连接
- KEIL C51中的_at_关键字
- [置顶] JSP中使用taglib出错终极解决办法
- JS复习:第八章
- Python 一些有趣的技巧哦!
- Netty源码—四、事件处理
- Jmeter-----参数配置
- [NewLife.XCode]实体类详解
- 将labelme 生成的.json文件进行可视化的代码+label.png 对比度处理的matlab代码
- c# 移动鼠标到指定位置
- java同一个类中,构造器如何调用另一个重载的构造器?
- ubuntu android 设备识别 Setting up a Device for Development
- WordPress函数query_posts用法汇总