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

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

왕

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

요약
여러 구간 합에 대한 부등식 제약이 주어질 때 이를 모두 만족하는 정수 수열이 존재하는지 판정한다.
난이도

보통10점 중 6점

유형
그래프, 최단 경로, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

옛날 어느 왕국에서 왕비가 아들을 낳았고, 그 아들이 훗날 왕이 되었다. 안타깝게도 이 왕자는 셈이 몹시 서툴러서, 정수를 더하는 것과 그 합을 주어진 정수 하나와 크고 작음으로 비교하는 것밖에 하지 못했다. 게다가 다루는 수들은 반드시 하나의 수열로 늘어놓아야 했고, 그 수열에서 연속한 구간의 합만 계산할 수 있었다.

늙은 왕은 아들이 자신의 뒤를 이어 나라를 다스릴 수 있도록, 모든 국사를 유한한 정수 수열로 나타내고 모든 결정을 그 수열의 합에 대한 정수 한계(상한 또는 하한)로 내리도록 정했다.

늙은 왕이 죽고 젊은 왕이 즉위하자, 그의 결정들은 곧 반발을 샀다. 반대파는 하나의 정수 수열 S={a1,a2,…,an}S = \{a_1, a_2, \dots, a_n\} 의 부분 구간들로 이루어진 문제들을 왕에게 내밀었다. 각 부분 구간 Si={asi,asi+1,…,asi+ni}S_i = \{a_{s_i}, a_{s_i+1}, \dots, a_{s_i+n_i}\} 에 대해 왕은 그 합에 대한 정수 한계 kik_i 를 다음 두 형태 중 하나로 선언했다.

asi+asi+1+⋯+asi+ni<ki또는asi+asi+1+⋯+asi+ni>ki.a_{s_i} + a_{s_i+1} + \dots + a_{s_i+n_i} < k_i \qquad \text{또는} \qquad a_{s_i} + a_{s_i+1} + \dots + a_{s_i+n_i} > k_i.

나중에 왕은 자신이 선언한 한계들 중 일부가 서로 모순됨을 깨달았다. 이미 내린 선언은 취소할 수 없지만, 바탕이 되는 수열은 꾸며낼 수 있다. 왕의 조언자들을 도와, 선언된 모든 한계를 만족하는 정수 수열 SS 가 존재하는지 판정하라.

입력

입력은 여러 개의 블록으로 이루어진다. 마지막 블록을 제외한 각 블록은 하나의 결정 묶음을 나타낸다.

각 블록의 첫 줄에는 두 정수 nn 과 mm 이 주어진다. 여기서 0<n≤1000 < n \le 100 은 수열 SS 의 길이이고, 0<m≤1000 < m \le 100 은 한계의 개수이다.

이어지는 mm 개의 줄에는 각각 하나의 한계가 네 값 si ni oi kis_i\ n_i\ o_i\ k_i 로 주어진다.

  • sis_i 와 nin_i 는 부분 구간 asi,asi+1,…,asi+nia_{s_i}, a_{s_i+1}, \dots, a_{s_i+n_i} 를 지정한다.
  • oio_i 는 비교 연산자로, >> 는 gt, << 는 lt 로 표기된다.
  • kik_i 는 그 부분 구간의 합에 적용되는 정수 한계이다.

마지막 블록은 0 하나만 있는 한 줄이며, 처리하지 않는다.

출력

각 블록마다 한 줄을 출력한다.

  • 블록의 모든 한계를 동시에 만족하는 정수 수열 SS 가 존재하지 않으면 successful conspiracy 를 출력한다.
  • 그렇지 않으면 lamentable kingdom 을 출력한다.

마지막 0 블록에 대해서는 아무것도 출력하지 않는다.

예제3

  1. 예제 1

    입력
    4 2
    1 2 gt 0
    2 2 lt 2
    1 2
    1 0 gt 0
    1 0 lt 0
    0
    
    예상 출력
    lamentable kingdom
    successful conspiracy
    
  2. 예제 2

    입력
    1 1
    1 0 gt 5
    0
    
    예상 출력
    lamentable kingdom
    
  3. 예제 3

    입력
    1 2
    1 0 gt 0
    1 0 lt 1
    0
    
    예상 출력
    successful conspiracy