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

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

듀애슬론

면접 대비

시간 제한1초메모리 제한128 MB

요약
각 선수의 달리기와 자전거 속도가 주어지고 총 거리가 정해져 있을 때, 마지막 선수가 가장 큰 차이로 이기도록 달리기와 자전거 구간을 정하거나 불가능함을 판정한다.
난이도

보통10점 중 6점

유형
기하, 수학, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

듀애슬론은 각 선수가 rr km를 달린 뒤 kk km를 자전거로 달리는 경기이다. nn명의 선수가 참가했으며, 각 선수의 달리기 속도와 자전거 속도는 서로 모두 다르다. 이 중 한 명이 주최 측에 뇌물을 주어, 자신이 가장 큰 차이로 우승할 수 있도록 rr과 kk(총 거리는 고정)를 정하게 하려 한다. 이것이 가능한지 판별하고, 가능하다면 그때의 rr과 kk를 구하여라.

입력

첫째 줄에 경기의 총 거리 tt(km)가 정수로 주어진다. 즉 r+k=tr + k = t이다. 둘째 줄에 선수의 수 nn이 정수로 주어진다. 이어지는 nn개의 줄에는 각 선수의 달리기 속도와 자전거 속도(단위 km/h)가 두 실수로 주어진다. 이 nn개의 줄 중 마지막 줄이 뇌물을 준 선수(치터)이고, 나머지 n−1n-1명은 그가 반드시 이겨야 하는 정직한 경쟁자이다. tt는 100100km를 넘지 않고, nn은 2020을 넘지 않는다.

출력

위 설명대로 경기를 조작할 수 있다면, 정확히 다음 한 줄 형식으로 출력한다: The cheater can win by <S> seconds with r = <R>km and k = <K>km. 여기서 <S>는 치터가 이기는 시간 차(초 단위, 가장 가까운 정수로 반올림), <R>와 <K>는 각각 달리기 거리와 자전거 거리(km, 소수점 둘째 자리까지)이며, 숫자와 km 사이에는 공백이 없다. 치터가 (양의 시간 차로) 이길 방법이 없다면 The cheater cannot win.을 출력한다.

예제2

  1. 예제 1

    입력
    100
    3
    10.0 40.0
    20.0 30.0
    15.0 35.0
    
    예상 출력
    The cheater can win by 612 seconds with r = 14.29km and k = 85.71km.
    
  2. 예제 2

    입력
    100
    3
    10.0 40.0
    20.0 30.0
    15.0 25.0
    
    예상 출력
    The cheater cannot win.