HDOJ -- 4699
Editor
Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 1236 Accepted Submission(s): 391
I 2
I -1
I 1
Q 3
L
D
R
Q 2
3
The following diagram shows the status of sequence after each instruction:
#include<stack>
#include<cstdio>
#include<cstring>
#define MAX 1000005
using namespace std;
stack<int>l, r;
long long int dp[MAX], sum[MAX], n, temp;
char str[];
int main(){
freopen("in.c", "r", stdin);
while(~scanf("%lld", &n)){
while(!l.empty()) l.pop();
while(!r.empty()) r.pop();
memset(sum, , sizeof(sum));
memset(dp, , sizeof(dp));
dp[] = -;
for(int i = ;i < n;i ++){
scanf("%s", str);
if(str[] == 'I'){
scanf("%lld", &temp);
l.push(temp);
sum[l.size()] = sum[l.size()-] + temp;
dp[l.size()] = max(sum[l.size()], dp[l.size()-]);
}else if(str[] == 'L'){
if(!l.empty()){
int del = l.top();
l.pop();
r.push(del);
}
}else if(str[] == 'Q'){
scanf("%lld", &temp);
temp = min(temp, (long long int)l.size());
l.size() == ? printf("0\n") : printf("%lld\n", dp[temp]);
}else if(str[] == 'D') l.pop();
else{
if(!r.empty()){
int del = r.top();
r.pop();
l.push(del);
sum[l.size()] = sum[l.size()-] + del;
dp[l.size()] = max(sum[l.size()], dp[l.size()-]);
}
}
}
}
}
HDOJ -- 4699的更多相关文章
- HDU/HDOJ 4699 Editor
对顶栈算法. 此题充分说明了cin的不中以及scanf的优越性. 我TM用cin超时了!!!换成scanf就A了!!! #include <cstdio> #include <cst ...
- HDOJ 4699 Editor 栈 模拟
用两个栈模拟: Editor Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- HDOJ 4699 Editor 对顶栈模拟
Editor Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Subm ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDOJ 2317. Nasty Hacks 模拟水题
Nasty Hacks Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- HDOJ 1326. Box of Bricks 纯水题
Box of Bricks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- HDOJ 1004 Let the Balloon Rise
Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...
- hdoj 1385Minimum Transport Cost
卧槽....最近刷的cf上有最短路,本来想拿这题复习一下.... 题意就是在输出最短路的情况下,经过每个节点会增加税收,另外要字典序输出,注意a到b和b到a的权值不同 然后就是处理字典序的问题,当松弛 ...
- HDOJ(2056)&HDOJ(1086)
Rectangles HDOJ(2056) http://acm.hdu.edu.cn/showproblem.php?pid=2056 题目描述:给2条线段,分别构成2个矩形,求2个矩形相交面 ...
随机推荐
- java新手笔记17 参数
package com.yfs.javase; public class ParamDemo { public static void main(String[] args) { int a = 3, ...
- java新手笔记7 找最小、最大、排序
1.最小数 // 1.0 public class SortDemo1 { public static void main(String[] args) { int[] a = {2,5,4,6,8, ...
- SpringMVC的文件上传
首先导入jar包 在springMVC里面配置文件上传,以及限定上传文件的大小 <bean id="multipartResolver" class="org.s ...
- Dao模型设计(基于Dao与Hebernate框架)
以前没有Dao设计模型之前,一般都是这样的流程: ①先设计实体对象 学生对象: package com.itheima.domain; import java.io.Serializable; imp ...
- 关于Hyper-V虚拟机中的vEthernet虚拟网卡不能联网的问题
Hyper-V虚拟机在我电脑里面已经有一年了,当初是因为windows8系统里面需要装Hyper-V,这样才能不让win8死机,就折腾了一整子,结果碰到vEthernet网卡不能联网,网上相关的资料少 ...
- PHP curl 采集内容之规则 及图片下载方法2
<?phpheader("Content-type:text/html; charset=utf-8");/*$pattern = '/xxx(.*)yyyy/isU'; / ...
- 数据库创建&数据表创建
--第2_1题创建数据库 create database Student201038897041 on primary (name='student1', filename='F:\coures\SQ ...
- jQuery登陆判断简单实现代码
登陆判断在实际应用中还是比较常见,在客户端执行判断可以减少服务器端的负担,感兴趣的朋友可以参考下 复制代码代码如下: <script src="jquery-1.9.1.js" ...
- linux 中 ‘|’的作用
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入.连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入 ...
- PYTHON 获取机器硬件信息及状态
#!/usr/bin/env python # encoding: utf-8 from optparse import OptionParser import os import re import ...