单调栈运用2----(xdoj-1156)
2024-08-29 22:28:10
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+;
int num[N];
int len;
int top;
int t;
deque <int> q;
int main ()
{
int n;
while (~scanf ("%d",&n) ) {
while (!q.empty()) q.pop_back();
len=t=;
top=;
while (n--) {
int op,x;
scanf ("%d",&op);
if (op==) {
scanf ("%d",&x); x-=t;
num[++len]=x;
while (!q.empty()&&num[q.back()]<=x) q.pop_back();
q.push_back(len);
}
else if (op==) { // 想一想为什么要加括号 ?否则1句和2句就要连接在一块了
if ( (top++)==q.front() ) q.pop_front(); //
}
else //
printf ("%d\n",num[q.front()]+t);
t++;
}
}
return ;
}
最新文章
- Area区域
- java中的sleep()和wait()的区别
- codeforces 425A Sereja and Swaps(模拟,vector,枚举区间)
- 如何在Ubuntu安装*.exe文件
- PHP批量下载方法
- (六)unity4.6Ugui中国教程文档-------概要-UGUI Animation Integration
- Head First 设计模式 第5章 单例模式
- 又是一个愚蠢的错误,皆因.xml而起
- Python教程大纲
- Oracle 数据库监听无法连接上、监听HANG住、监听无响应、TNS-12560
- 利用ResultFilter实现asp.net mvc 页面静态化
- 1003: [ZJOI2006]物流运输 = DP+SBFA
- mysql 中实现多条数据同时更新
- Aspose.Words使用技巧
- AX_InventDim
- MySQL基准测试(二)--方法
- Django学习手册 - ORM choice字段 如何在页面上显示值
- .Net Core Package lose or not match
- VC 测试一段程序的运行时间 精确到ms
- webservice双向验证