¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#8680
Subtarea

열린 괄호 1s 1024MB

Problemas

여는 괄호 (와 닫는 괄호 )로만 이루어진 문자열이 주어진다. 문자열은 아래 규칙을 만족해야 한다.

  • 규칙: 문자열의 어떤 앞부분을 보아도 닫는 괄호 )의 개수가 여는 괄호 (의 개수보다 많으면 안 된다.

예를 들어, 문자열 ()()는 규칙을 만족하지만, 문자열 ())(는 규칙을 만족하지 않는다. 왜냐하면 ())(에서 길이가 3인 앞부분 ()))의 개수 2(의 개수 1보다 많기 때문이다.

주어진 문자열이 규칙을 만족하도록 만들기 위해, 문자열에서 바꿔야 하는 글자()로 바꾸거나 그 반대 )의 최소 개수를 구하는 프로그램을 작성하라. 글자를 새로 추가하거나 제거하는 것은 허용되지 않는다.


Entrada

첫 줄에 문자열의 길이를 나타내는 정수 N이 주어진다. (1≤N≤200 000)

그다음 줄에 문자열이 주어진다. 이 문자열의 길이는 N이고 ()로만 구성되어 있다.


Salida

첫 줄에 문자열이 규칙을 만족하도록 만들기 위해 바꿔야 하는 최소 글자 수를 출력한다.


Subtarea

# Puntaje Condición
#120

N \le 3

#225

N \le 2\ 000

#355

추가 제약 조건 없음


Ejemplo #1

3
()(
0

Ejemplo #2

1
)
1

Ejemplo #3

4
())(
1


Fuente

New York Programming Contest 2025

Debes iniciar sesión para escribir código.