from typing import List, Tuple
def possible_capacity(n: int, e: List[Tuple[str, str]]) -> int:
id_number = []
count = 0
reader = 0
for sign, id in e:
if sign == '+':
id_number.append(id)
reader += 1
else:
if id in id_number:
id_number.remove(id)
reader -= 1
else:
count += 1
count = max(count, reader)
return count
n = int(input())
a = []
for i in range(n):
b,c = input().split()
a.append((b, c))
d = possible_capacity(n, a)
print(d)
#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin>>n;
int present=0;
int max=0;
map<int,int> m;
for(int i=0;i<n;i++){
char sign;
int id;
cin>>sign>>id;
if(sign=='+'){
present++;
m[id]=1;
if(present>max) max=present;
}
if(sign=='-'){
if(m.find(id)!=m.end()){
present--;
m[id]=0;
}
else max++;
}
}
cout<<max<<'\n';
return 0;
}
977. Squares of a Sorted Array | 852. Peak Index in a Mountain Array |
461. Hamming Distance | 1748. Sum of Unique Elements |
897. Increasing Order Search Tree | 905. Sort Array By Parity |
1351. Count Negative Numbers in a Sorted Matrix | 617. Merge Two Binary Trees |
1450. Number of Students Doing Homework at a Given Time | 700. Search in a Binary Search Tree |
590. N-ary Tree Postorder Traversal | 589. N-ary Tree Preorder Traversal |
1299. Replace Elements with Greatest Element on Right Side | 1768. Merge Strings Alternately |
561. Array Partition I | 1374. Generate a String With Characters That Have Odd Counts |
1822. Sign of the Product of an Array | 1464. Maximum Product of Two Elements in an Array |
1323. Maximum 69 Number | 832. Flipping an Image |
1295. Find Numbers with Even Number of Digits | 1704. Determine if String Halves Are Alike |
1732. Find the Highest Altitude | 709. To Lower Case |
1688. Count of Matches in Tournament | 1684. Count the Number of Consistent Strings |
1588. Sum of All Odd Length Subarrays | 1662. Check If Two String Arrays are Equivalent |
1832. Check if the Sentence Is Pangram | 1678. Goal Parser Interpretation |