걷기

면접 대비

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

요약
출발 시각이 서로 다른 사람들이 일정한 속도로 길을 걸을 때 늦게 출발하고 먼저 도착하는 쌍을 친구라 하며 모든 쌍이 친구인 가장 큰 집단 크기를 구합니다.
난이도

보통10점 중 4점

유형
동적 계획법, 정렬
정답자
아직 제출이 없습니다

문제

길이가 ℓ\ell인 도로가 있고, 이 도로를 걷는 사람이 nn명 있다. ii번째 사람은 시각 tit_i에 도로의 시작 지점에서 출발해 속도 viv_i로 일정하게 이동하다가 도로의 끝에 도착한다. 두 사람이 같은 시각에 출발하는 일은 없고, 두 사람이 같은 시각에 도착하는 일도 없다.

ii번째 사람과 jj번째 사람이 도로 위에서 마주치면 두 사람은 친구가 된다. 수식으로 쓰면, ti<tjt_i < t_j인 두 사람 ii, jj는 ℓ/vi+ti>ℓ/vj+tj\ell / v_i + t_i > \ell / v_j + t_j일 때 그리고 그때만 친구가 된다.

구성원이 서로 모두 친구인 사람 집합 중에서 가장 큰 집합의 크기를 구하라.

입력

프로그램은 표준 입력에서 읽는다. 입력은 n+1n + 1개의 줄로 이루어진다. 첫째 줄에는 정수 ℓ\ell과 nn이 공백 하나로 구분되어 주어진다. 100≤ℓ≤10000100 \le \ell \le 10000이고 1≤n≤5001 \le n \le 500이다. 이어지는 nn개의 줄 중 i+1i + 1번째 줄에는 정수 tit_i와 viv_i가 공백 하나로 구분되어 주어진다. 0≤ti≤10000 \le t_i \le 1000이고 1≤vi≤1001 \le v_i \le 100이다.

출력

프로그램은 표준 출력에 정수 하나를 쓴다. 이 정수는 구성원이 서로 모두 친구인 사람 집합 중 가장 큰 집합의 크기이다.

예제2

  1. 예제 1

    입력
    1000 4
    1 3
    2 1
    0 2
    3 4
    
    예상 출력
    3
    
  2. 예제 2

    입력
    1000 4
    0 1
    2 1
    1 1
    3 1
    
    예상 출력
    1