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

31929번 - 너 재능 있어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB45420617647.568%

문제

리그 오브 레전드(이하 롤)를 즐기는 민우는 자기보다 롤을 못하는 민석이를 도발했다.

너? 재능 있어. 열심히 해.

민석이는 너무 분하여 어떻게 하면 점수를 효율적으로 올릴 수 있는지 연구하기 시작했다. 철저한 자기 객관화가 가능한 민석이는 앞으로의 게임에서 $N$번의 승리와 $M$번의 패배를 하게 될 것이란 사실을 알고 있다. 민석이는 $i$번째 승리를 하게 된다면 $W_{i}$만큼의 점수를 얻게 되고, $j$번째 패배를 하게 된다면 $L_{j}$만큼의 점수를 잃게 된다. 민석이의 점수는 0ドル$점에서 시작하고, 점수는 음수가 될 수 있다.

롤에는 민석이와 같은 하수들이 한 번에 너무 큰 점수를 잃지 않도록 매 $K$점마다 점수 보호권이 존재한다. 정수 $a$와 0ドル< b < K$를 만족하는 정수 $b$에 대하여, 민석이의 현재 점수가 $a\times K+b$라고 하자. 만약 민석이가 이 상태에서 $j$번째 패배를 당했다면, 현재 점수에서 $b$점을 초과하여 잃지 않는다. 다시 말해, 민석이는 $\min(L_{j},b)$만큼의 점수를 잃게 된다. 만약 현재 점수가 $a\times K$라면, $L_{j}$만큼의 점수를 잃게 됨에 유의하자.

당연하게도 민석이는 $N+M$번의 게임 후 가장 높은 점수를 얻고 싶다. 민석이를 도와주자.

입력

첫 번째 줄에 승리 시 얻을 수 있는 점수를 나타내는 배열 $W$의 길이 $N$이 주어진다. $(1\leq N \leq 1,000円)$

두 번째 줄에 $W$의 원소 $N$개가 공백으로 구분되어 주어진다. $W$의 모든 원소는 1ドル$ 이상 100ドル$ 이하의 정수다.

세 번째 줄에 패배 시 잃게 되는 점수를 나타내는 배열 $L$의 길이 $M$이 주어진다. $(1\leq M \leq 1,000円)$

네 번째 줄에 $L$의 원소 $M$개가 공백으로 구분되어 주어진다. $L$의 모든 원소는 1ドル$ 이상 100ドル$ 이하의 정수다.

다섯 번째 줄에 점수 보호를 위한 정수 $K$가 주어진다. $(100\leq K \leq 1,000円)$

출력

$N$번의 승리와 $M$번의 패배를 한 후 민석이가 얻을 수 있는 점수의 최댓값을 출력한다.

제한

예제 입력 1

4
50 30 70 90
2
100 100
110

예제 출력 1

160

민석이의 경기 결과가 순서대로 [승,패,승,패,승,승]일 경우 160ドル$점을 얻을 수 있다. 이보다 점수를 더 얻을 수 있는 방법은 존재하지 않는다.

예제 입력 2

2
27 51
4
44 62 7 16
101

예제 출력 2

-23

예제 입력 3

1
100
1
49
100

예제 출력 3

51

힌트

출처

University > 아주대학교 > 2024 아주대학교 프로그래밍 경시대회 APC > Div.1 E번

University > 아주대학교 > 2024 아주대학교 프로그래밍 경시대회 APC > Div.2 G번

University > 아주대학교 > 2024 아주대학교 프로그래밍 경시대회 APC > Open Contest H번

University > 성균관대학교 > 2024 성균관대학교 프로그래밍 경진대회 with APC E번

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

출처

대학교 대회

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

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