Time is Mooney

시간 제한2초메모리 제한512 MB

요약
방향 그래프에서 도시 1에서 시작해 다시 1로 돌아오는 닫힌 보행 중, 모은 보상에서 C 곱하기 이동 일수의 제곱을 뺀 값이 최대가 되는 경로를 찾는다.
난이도

보통10점 중 6점

유형
동적 계획법, 그래프, 그리디, 수학
정답자
아직 제출이 없습니다

문제

Bessie는 Bovinia에서 출장을 다닌다. Bovinia에는 NN개의 도시가 있고 (2≤N≤10002\le N\le 1000), 각 도시에는 11부터 NN까지 번호가 붙어 있다. 도시들은 MM개의 일방통행 도로로 연결되어 있다 (1≤M≤20001\le M\le 2000). Bessie가 도시 ii를 방문할 때마다 mim_i moonies를 번다 (0≤mi≤10000\le m_i\le 1000). Bessie는 도시 1에서 출발해 최대한 많은 moonies를 벌기 위해 여러 도시를 방문하고, 도시 1로 돌아오려 한다. 혼동을 피하기 위해 m1=0m_1=0이다.

도로를 따라 두 도시 사이를 이동하는 데는 하루가 걸린다. 여행 준비에는 비용이 많이 든다. TT일 동안 여행하려면 C⋅T2C\cdot T^2 moonies가 든다 (1≤C≤10001\le C\le 1000).

Bessie가 한 번의 여행으로 벌 수 있는 moonies의 최댓값은 얼마인가? 도시 1 외에는 아무 도시도 방문하지 않는 것이 최적일 수도 있으며, 이때 답은 0이다.

입력

첫째 줄에 세 정수 NN, MM, CC가 주어진다.

둘째 줄에 NN개의 정수 m1,m2,…mNm_1,m_2,\ldots m_N이 주어진다.

다음 MM개의 줄에는 도시 aa에서 도시 bb로 가는 일방통행 도로를 나타내는 두 정수 aa와 bb가 공백으로 구분되어 주어진다 (a≠ba\neq b).

출력

답을 한 줄에 출력한다.

힌트

최적의 여행 경로는 1→2→3→1→2→3→11\to 2\to 3 \to 1\to 2\to 3\to 1이다. Bessie는 10+20+10+20−1⋅62=2410+20+10+20-1\cdot 6^2=24 moonies를 번다.

예제1

  1. 예제 1

    입력
    3 3 1
    0 10 20
    1 2
    2 3
    3 1
    
    예상 출력
    24