만드는 중입니다

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

IQ 테스트

시간 제한1초메모리 제한1024 MB

요약
각 문항의 선택지가 앞선 문항 중 같은 답의 개수를 주장할 때, 맞힐 수 있는 문항 수의 최댓값을 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

bobo는 매우 영리해서 지금까지 어떤 IQ 테스트도 본 적이 없다. 하지만 이제 눈앞에 테스트 하나가 놓였다.

테스트는 nn개의 문제로 이루어지며, 문제에는 1,2,…,n1, 2, \dots, n의 번호가 매겨져 있다. 각 문제에는 선택지 A와 B가 있다. ii번 문제는 "문제 1,2,…,(i−1)1, 2, \dots, (i - 1) 중에서 선택지 tit_i로 답한 문제는 몇 개인가?"라고 묻는다. tit_i는 A 또는 B이다. 선택지 A는 xix_i개라고 말하고, 선택지 B는 yiy_i개라고 말한다.

bobo는 곧 이 테스트가 잘못 설계되었다는 것을 알아챈다. 그는 자신이 최대 몇 문제를 맞힐 수 있는지 알고 싶어 한다.

입력

첫 줄에 정수 nn (1≤n≤2000001 \leq n \leq 200000)이 주어진다.

이어지는 nn개의 줄에는 문자 tit_i와 정수 xix_i, yiy_i가 차례로 주어진다 (ti∈{A,B}t_i \in \{A, B\}, 0≤xi,yi≤n0 \leq x_i, y_i \leq n).

출력

bobo가 맞힐 수 있는 문제의 최대 개수를 나타내는 정수 하나를 출력한다.

예제2

  1. 예제 1

    입력
    2
    A 0 1
    B 0 1
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2
    A 1 2
    B 0 1
    
    예상 출력
    1