Logo
(追記) (追記ここまで)

27164번 - 도미니언

시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 1024 MB192271712.977%

문제

《도미니언》의 확장판 《Dominion: Last Turn》은 매 턴마다 카드를 구매하여 덱을 구성하고 최후의 턴에 승점을 계산하는 게임입니다.

《도미니언》은 두 종류의 카드를 사용합니다. 하나는 행동 카드이며, 다른 하나는 승점 카드입니다. 행동 카드는 정수 $A$와 $B$가 새겨져 있으며, $A$번의 행동 횟수를 추가해 주고, $B$개의 카드를 뽑게 해 줍니다. 승점 카드에는 정수 $P$가 새겨져 있으며, 승점을 뜻합니다.

이러한 카드들을 한 턴에 하나씩 구매하여 덱을 만들고, 마지막 턴에는 아래와 같은 과정으로 승점을 계산합니다

  1. 플레이어는 덱을 자신이 원하는 순서대로 정렬합니다.
  2. 플레이어는 덱에서 카드를 1ドル$장 뽑고 1ドル$번의 행동 기회를 가지는 것으로 시작합니다.
  3. 플레이어는 행동 횟수가 1ドル$ 이상일 때 행동 기회를 1ドル$ 소모하여 행동 카드를 사용할 수 있습니다. 이 경우 플레이어는 $A$번의 행동을 추가로 할 수 있으며, $B$장의 카드를 덱에서 뽑습니다. 단, 덱에 남아있는 카드가 $B$장보다 적을 경우 모두 뽑습니다.
  4. 더 이상 행동을 할 수 없거나 플레이어가 종료를 선언하면 손에 들고 있는 승점 카드에 새겨진 승점의 값의 합계가 최종 승점이 됩니다.

유토는 이제 마지막으로 한 번의 구매 후 승점을 계산해야 합니다. 현재 유토의 덱과 구매할 수 있는 카드의 목록이 주어졌을 때 유토가 한 장을 덱에 추가한 후 얻을 수 있는 최대 승점을 알려주세요.

입력

입력의 첫째 줄에는 현재 덱에 있는 카드의 수 $N$과 덱에 추가할 수 있는 카드의 종류 개수인 $M$이 공백으로 구분되어 주어집니다.

이후 $N$개의 줄에 걸쳐 덱에 있는 카드의 정보가 주어집니다.

이후 $M$개의 줄에 걸쳐 구매할 수 있는 카드의 정보가 주어집니다.

카드에 대한 정보는 카드가 행동 카드라면 Act $A$ $B$ 의 형태로 주어지며, 승점 카드라면 Point $P$ 의 형태로 주어집니다.

출력

유토가 얻을 수 있는 최대 승점을 출력해주세요.

제한

  • 1ドル \le N, M \le 1,000円,000円$
  • 0ドル \le A, B \le 1,000円,000円$
  • $A + B > 0$
  • 0ドル \le P \le 1,000円$

예제 입력 1

4 3
Act 1 1
Act 0 1
Point 5
Point 4
Point 1
Act 0 2
Act 1 1

예제 출력 1

9

유토는 Act 0ドル$ 2ドル$ 의 카드를 구매합니다. 이후 덱을 Act 1ドル$ 1ドル$, Act 0ドル$ 2ドル$, Point 4ドル$, Point 5ドル$, Act 0ドル$ 1ドル$ 순서로 정렬합니다. 유토가 Act 1ドル$ 1ドル$ 카드와 Act 0ドル$ 2ドル$ 카드를 사용한다면 손에 있는 카드는 Point 4ドル$, Point 5ドル$ 가 되고 최종 점수는 4ドル+5=9$가 됩니다. 어떠한 경우에도 이보다 높은 점수를 얻을 수는 없습니다.

예제 입력 2

2 2
Point 5
Point 4
Point 1
Point 6

예제 출력 2

6

예제 입력 3

9 2
Act 3 0
Act 0 2
Act 0 2
Act 0 2
Point 5
Point 4
Point 1
Point 1
Point 1
Act 0 2
Act 1 1

예제 출력 3

9

힌트

출처

Contest > BOJ User Contest > 보드게임컵 > 보드게임컵 F번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /