B. Berland National Library
2015-08-09 19:21
197 查看
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Berland National Library has recently been built in the capital of Berland. In addition, in the library you can take any of the collected works of Berland leaders, the library has a reading room.
Today was the pilot launch of an automated reading room visitors' accounting system! The scanner of the system is installed at the entrance to the reading room. It records the events of the form "reader entered room", "reader left room". Every reader is assigned
a registration number during the registration procedure at the library — it's a unique integer from 1 to 106.
Thus, the system logs events of two forms:
"+ ri"
— the reader with registration number ri entered
the room;
"- ri"
— the reader with registration number ri left
the room.
The first launch of the system was a success, it functioned for some period of time, and, at the time of its launch and at the time of its shutdown, the reading room may already have visitors.
Significant funds of the budget of Berland have been spent on the design and installation of the system. Therefore, some of the citizens of the capital now demand to explain the need for this system and the benefits that its implementation will bring. Now,
the developers of the system need to urgently come up with reasons for its existence.
Help the system developers to find the minimum possible capacity of the reading room (in visitors) using the log of the system available to you.
Input
The first line contains a positive integer n (1 ≤ n ≤ 100)
— the number of records in the system log. Next follow nevents from the system journal in the order in which the were made. Each event
was written on a single line and looks as "+ ri"
or "- ri",
where ri is
an integer from 1 to 106,
the registration number of the visitor (that is, distinct visitors always have distinct registration numbers).
It is guaranteed that the log is not contradictory, that is, for every visitor the types of any of his two consecutive events are distinct. Before starting the system, and after stopping the room may possibly contain visitors.
Output
Print a single integer — the minimum possible capacity of the reading room.
Sample test(s)
input
output
input
output
input
output
Note
In the first sample test, the system log will ensure that at some point in the reading room were visitors with registration numbers 1, 1200 and 12001.
More people were not in the room at the same time based on the log. Therefore, the answer to the test is 3.
解题说明:此题其实是一道堆栈题,判断堆栈中元素最多的情况。
#include<stdio.h>
#include <string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,a[1000002]={0},i,b[1000002]={0},max=0,d=0,x;
char c;
scanf("%d",&n);
while(n--)
{
scanf("\n%c %d",&c,&x);
if(b[x]==0 && c=='-')
{
max++;
}
else if(c=='-')
{
a[x]=0;
d--;
}
else if(c=='+')
{
b[x]=1;
d++;
if(d>max)
{
max=d;
}
}
}
printf("%d\n",max);
return 0;
}
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Berland National Library has recently been built in the capital of Berland. In addition, in the library you can take any of the collected works of Berland leaders, the library has a reading room.
Today was the pilot launch of an automated reading room visitors' accounting system! The scanner of the system is installed at the entrance to the reading room. It records the events of the form "reader entered room", "reader left room". Every reader is assigned
a registration number during the registration procedure at the library — it's a unique integer from 1 to 106.
Thus, the system logs events of two forms:
"+ ri"
— the reader with registration number ri entered
the room;
"- ri"
— the reader with registration number ri left
the room.
The first launch of the system was a success, it functioned for some period of time, and, at the time of its launch and at the time of its shutdown, the reading room may already have visitors.
Significant funds of the budget of Berland have been spent on the design and installation of the system. Therefore, some of the citizens of the capital now demand to explain the need for this system and the benefits that its implementation will bring. Now,
the developers of the system need to urgently come up with reasons for its existence.
Help the system developers to find the minimum possible capacity of the reading room (in visitors) using the log of the system available to you.
Input
The first line contains a positive integer n (1 ≤ n ≤ 100)
— the number of records in the system log. Next follow nevents from the system journal in the order in which the were made. Each event
was written on a single line and looks as "+ ri"
or "- ri",
where ri is
an integer from 1 to 106,
the registration number of the visitor (that is, distinct visitors always have distinct registration numbers).
It is guaranteed that the log is not contradictory, that is, for every visitor the types of any of his two consecutive events are distinct. Before starting the system, and after stopping the room may possibly contain visitors.
Output
Print a single integer — the minimum possible capacity of the reading room.
Sample test(s)
input
6 + 12001 - 12001 - 1 - 1200 + 1 + 7
output
3
input
2 - 1 - 2
output
2
input
2 + 1 - 1
output
1
Note
In the first sample test, the system log will ensure that at some point in the reading room were visitors with registration numbers 1, 1200 and 12001.
More people were not in the room at the same time based on the log. Therefore, the answer to the test is 3.
解题说明:此题其实是一道堆栈题,判断堆栈中元素最多的情况。
#include<stdio.h>
#include <string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,a[1000002]={0},i,b[1000002]={0},max=0,d=0,x;
char c;
scanf("%d",&n);
while(n--)
{
scanf("\n%c %d",&c,&x);
if(b[x]==0 && c=='-')
{
max++;
}
else if(c=='-')
{
a[x]=0;
d--;
}
else if(c=='+')
{
b[x]=1;
d++;
if(d>max)
{
max=d;
}
}
}
printf("%d\n",max);
return 0;
}
相关文章推荐
- Ubuntu 安装mysql和简单操作
- 如何实时查看linux下的日志
- uva 673 Parentheses Balance
- iOS开发--UIButton 设置圆角 边框颜色 点击回调方法
- CodeForces 492B
- 一步一步在ubuntu上安装即时通讯服务器-Openfire
- 提取最长转录本的代码
- 理解Scroll Views
- 重复子串问题(五):求最长回文字符子串
- 剑指offer刷题之java实现的二叉搜索树的后序遍历序列
- SYN 攻击 常识 预防
- 重写equals/clone
- 工作习惯-工作时间切勿钻牛角尖耽误进度
- 红黑二叉查找树
- tcp/ip学习笔记
- 【发布】iOS百度贴吧助手1.0
- android广播接收者
- Linux操作系统的常用命令
- java项目转换成javaWeb项目
- LINUX服务器性能评估与优化