0
点赞
收藏
分享

微信扫一扫

CF 567B(Berland National Library-看成折线图)



B. Berland National Library



time limit per test



memory limit per test



input



output



reading room.

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 numberri
  • -ri" — the reader with registration numberri

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



n (1 ≤ n ≤ 100) — the number of records in the system log. Next follow n events 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



1, 1200and 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<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cmath>
#include<cctype>
#include<ctime>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=pre[x];p;p=next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=next[p])
#define Lson (x<<1)
#define Rson ((x<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (100000007)
#define MAXN (10000000+10)
typedef long long ll;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return (a-b+(a-b)/F*F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int n;
bool b[MAXN]={0};
int main()
{
// freopen("B.in","r",stdin);

// freopen(".out","w",stdout);
int ans=0,nowc=0;
scanf("%d\n",&n);
For(i,n)
{
char c;int p;
scanf("%c %d\n",&c,&p);
if (c=='+') {
b[p]=1; nowc++;
} else {
if (b[p]) b[p]=0,nowc--;
else ans++;
}

ans=max(ans,nowc);
}
cout<<ans<<endl;
return 0;
}






举报

相关推荐

0 条评论