만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

야근

면접 대비

시간 제한2초메모리 제한512 MB

요약
이름별로 출입 기록을 시간 순으로 처리해 짝이 없는 퇴장과 짝이 없는 입장을 세어 초과근무 횟수를 구한다.
난이도

보통10점 중 4점

유형
해시맵, 스택, 문자열, 구현
정답자
아직 제출이 없습니다

문제

영선회사는 야근이 매우 잦은 회사이다. 다행히 야근 수당은 챙겨 주지만, 사장 nein은 매우 악덕한 사장이라서 야근 수당을 최대한 덜 주려고 한다.

영선회사는 다음 방법으로 야근 여부를 판단한다. 매우 이른 아침부터 퇴근 시간까지의 출입 기록이 주어진다. 들어간 기록은 없는데 나온 기록이 있으면 회사에서 야근을 한 것으로 기록된다. 또 회사에 들어갔는데 퇴근 시간까지 나오지 않으면 이 역시 야근을 하는 것으로 기록된다. 출입 기록에 따라 두 기준을 모두 만족할 수도 있는데, 이때는 야근을 두 번 한 것으로 인정한다. 하지만 회사에 계속 있었더라도 나오거나 들어가지 않아서 출입 기록이 없다면 야근으로 인정하지 않는다.

이 출입 기록에는 치명적인 단점이 있는데, 동명이인을 구별하지 못한다는 것이다. 이름이 같으면 같은 사람으로 인식하며, 두 사람 모두 회사에 남아 있거나 두 사람 모두 들어간 기록 없이 나온 기록이 있는 경우처럼 명확히 드러날 때만 야근을 여러 번 인정한다.

정리하면, 이름마다 기록을 시간 순서대로 보면서 나온 기록을 그보다 앞선, 아직 짝이 없는 같은 이름의 들어간 기록과 짝짓는다. 짝이 없는 나온 기록 하나와 끝까지 짝이 없는 들어간 기록 하나가 각각 야근 한 번이다.

영선회사의 오늘 출입 기록이 주어진다. 이 기록을 바탕으로 모든 직원의 야근 횟수의 합을 출력하시오.

입력

첫째 줄에 출입 기록의 개수 qq가 주어진다. (1≤q≤100 0001 \le q \le 100\,000)

다음 qq개의 줄에는 이름 ss와 출입 정보 pp가 공백으로 구분되어 시간 순서대로 주어진다. pp가 +이면 들어간 것이고, -이면 나간 것이다. 이름은 알파벳 소문자로만 이루어져 있고, 길이는 30자를 넘지 않는다.

출력

출입 기록을 바탕으로 모든 직원의 야근 횟수의 합을 출력한다.

예제1

  1. 예제 1

    입력
    7
    nein +
    nein -
    nein -
    nein -
    nein +
    nein +
    nein +
    
    예상 출력
    5