아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

식당 뒷돈

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

요약
친구 관계 그래프와 매수할 k명의 명단이 주어질 때, 각자에게 줄 뇌물 액수를 실수로 정해 식당 수익에서 뇌물을 뺀 값이 최대가 되도록 하고, 그 답을 기약분수로 정확히 출력한다.
난이도

어려움10점 중 9점

유형
그래프, 수학, 그리디, 구현
정답자
아직 제출이 없습니다

문제

Eeet은 식당 평점을 나누는 소셜 서비스다. 회원은 식당에 00부터 1010까지의 정수 평점을 남기거나, 평점을 남기지 않을 수 있다. 회원에게 보이는 식당 점수는 평점을 남긴 친구들의 평점 평균이다. 00점을 남긴 친구는 대개 점수를 끌어내리지만, 평점을 남기지 않은 친구는 점수에 영향을 주지 않는다. 친구 중 누구도 평점을 남기지 않은 식당은 그 회원에게 아예 보이지 않는다.

새로 문을 연 식당 The Smelly Fish에는 손님이 오지 않는다. 주인들이 알아낸 바로는, 각 사람은 이 식당에 많아야 한 번 오고 올 때 100y100y SEK를 쓴다. 여기서 yy는 그 사람이 Eeet에서 보는 점수다. 결제는 모두 카드로 하고, 금액은 반올림하지 않는다.

아직 평점이 하나도 없어서, 주인들은 평점을 남겨 줄 사람을 몇 명 골라 뒷돈을 주기로 했다. 파라미터가 aa인 사람은 뒷돈으로 xx SEK를 받으면 min⁡(10,⌊x/a⌋)\min(10, \lfloor \sqrt{x}/a \rfloor)점을 남긴다. 00 SEK를 받은 사람도 평점을 남기지 않는 것이 아니라 00점을 남긴다. 뒷돈을 받은 사람은 사정을 알기 때문에 식당에 오지 않는다. 뒷돈 액수는 사람마다 따로 정할 수 있고, 00 이상의 실수면 된다.

이익은 손님이 쓴 돈에서 뒷돈으로 나간 돈을 뺀 값이다. 주인들이 얻을 수 있는 최대 이익을 구하라.

입력

첫째 줄에 세 정수 nn, mm, kk가 주어진다 (1≤n≤1051 \le n \le 10^5, 0≤m≤1050 \le m \le 10^5, 0≤k≤n0 \le k \le n). 각각 Eeet 회원 수, 친구 관계의 수, 뒷돈을 줄 사람 수다. 사람에게는 11번부터 nn번까지 번호가 붙어 있다.

다음 mm개 줄에는 친구 사이인 두 사람의 번호 aa와 bb가 주어진다 (1≤a,b≤n1 \le a, b \le n, a≠ba \ne b). 친구 관계는 양쪽 모두에 성립하고, 같은 쌍 {a,b}\{a, b\}는 두 번 주어지지 않는다.

다음 kk개 줄에는 뒷돈을 줄 사람의 번호 ii와 그 사람의 파라미터 aia_i가 주어진다 (1≤i≤n1 \le i \le n, 1≤ai≤10001 \le a_i \le 1000). 같은 번호는 두 번 주어지지 않는다. 목록에 오른 사람은 모두 뒷돈을 받으며, 액수가 00일 수도 있다.

출력

최대 이익을 기약분수로 정확히 출력한다. 이익이 정수이면 그 정수만 출력하고, 정수가 아니면 공백 없이 p/qp/q 꼴로 출력한다. 이때 q≥2q \ge 2이고 pp와 qq의 최대공약수는 11이다. 분자와 분모는 6464비트 범위를 훌쩍 넘을 수 있으므로 큰 정수 연산이 필요하다.

예제3

  1. 예제 1

    입력
    10 1 1
    1 2
    1 3
    
    예상 출력
    276
    
  2. 예제 2

    입력
    4 3 3
    1 4
    2 4
    3 4
    1 1
    2 10
    3 20
    
    예상 출력
    700/3
    
  3. 예제 3

    입력
    7 6 1
    1 2
    1 3
    1 4
    1 5
    1 6
    1 7
    1 1
    
    예상 출력
    5900