Universal Cup Judging System

Universal Cup

Time Limit: 2 s Memory Limit: 2048 MB Total points: 100 Difficulty: [show] Hackable ✓
Statistics

Little Cyan Fish에게는 두 개의 조명 스트립이 있으며, 각 스트립에는 $1$부터 $n$까지 번호가 매겨진 $n$개의 전구가 있습니다. 각 전구는 켜져 있거나 꺼져 있습니다. 두 스트립의 초기 상태는 길이가 $n$인 이진 문자열 $a$와 $b$로 설명되며, 여기서 1은 켜진 전구를 나타내고 0은 꺼진 전구를 나타냅니다.

$0$부터 $n$까지 번호가 매겨진 $n + 1$개의 제어 인터페이스가 있습니다. 인터페이스 $0$은 첫 번째 전구 앞에 있으며, 각 $1 \le i \le n$에 대해 인터페이스 $i$는 전구 $i$ 바로 뒤에 있습니다. 인터페이스 $i$는 비용 매개변수 $c_i$를 가집니다.

한 번의 연산에서 Little Cyan Fish는 두 인터페이스 $p$와 $q$ ($0 \le p < q \le n$)를 선택하고 다음 동작 중 하나를 수행합니다:

  • 첫 번째 스트립에서 번호가 $p + 1, p + 2, \dots, q$인 모든 전구의 상태를 반전시킵니다.
  • 두 번째 스트립에서 번호가 $p + 1, p + 2, \dots, q$인 모든 전구의 상태를 반전시킵니다.
  • 두 스트립 모두에서 번호가 $p + 1, p + 2, \dots, q$인 모든 전구의 상태를 반전시킵니다.

전구의 상태를 반전시키면 상태가 켜짐에서 꺼짐으로, 또는 꺼짐에서 켜짐으로 바뀝니다. 세 가지 동작은 각각 $\max(c_p, c_q)$의 비용이 듭니다. 인터페이스는 반복해서 사용할 수 있으며, 연산 횟수에는 제한이 없습니다.

두 스트립의 모든 전구를 끄기 위해 필요한 최소 총비용을 구하세요.

입력

테스트 케이스가 여러 개 주어집니다. 입력의 첫 번째 줄에는 테스트 케이스의 수를 나타내는 단일 정수 $T$ ($1 \le T$)가 주어집니다.

각 테스트 케이스의 첫 번째 줄에는 각 스트립에 있는 전구의 수를 나타내는 단일 정수 $n$ ($1 \le n \le 3 \times 10^5$)이 주어집니다.

두 번째 줄과 세 번째 줄에는 각각 길이가 $n$이고 문자 0과 1로만 이루어진 이진 문자열 $a$와 $b$가 주어집니다.

네 번째 줄에는 인터페이스의 비용 매개변수를 나타내는 $n + 1$개의 정수 $c_0, c_1, \dots, c_n$ ($1 \le c_i \le 10^9$)이 주어집니다.

모든 테스트 케이스에 대한 $n$의 합은 $3 \times 10^5$을 초과하지 않음이 보장됩니다.

출력

각 테스트 케이스마다 두 스트립의 모든 전구를 끄기 위해 필요한 최소 총비용을 나타내는 단일 정수를 한 줄에 출력합니다.

예제

입력 1

3
1
0
0
1 1
1
1
1
7 9
3
101
000
1 100 100 1

출력 1

0
9
101

참고

첫 번째 예제 테스트 케이스에서는 모든 전구가 이미 꺼져 있으므로 어떠한 연산도 필요하지 않습니다.

두 번째 예제 테스트 케이스에서 Little Cyan Fish는 인터페이스 $0$과 $1$을 선택하여 두 전구를 모두 반전시킵니다. 이 연산의 비용은 $\max(7, 9) = 9$입니다.

세 번째 예제 테스트 케이스에서 그는 먼저 인터페이스 $0$과 $3$을 사용하여 비용 $1$로 첫 번째 스트립의 모든 전구를 반전시킵니다. 그런 다음 인터페이스 $1$과 $2$를 사용하여 비용 $100$으로 가운데 전구를 반전시킵니다. 총비용은 $101$입니다.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.