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

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

상자의 균형

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

요약
바닥부터 쌓인 상자의 중심 좌표가 주어질 때, 각 접미사의 무게중심이 바로 아래 상자의 내부에 엄격히 들어가는지 판정한다.
난이도

보통10점 중 5점

유형
배열, 누적 합, 구현, 수학
정답자
아직 제출이 없습니다

문제

진수에게는 총 n개의 상자가 있다. 모든 상자는 2L × 2L 크기의 정사각형 모양이고, 상자의 밀도는 균일하다.

진수는 이 상자들을 바닥에서부터 차곡차곡 쌓아올린다. 바닥은 y=0이다.

이 상자들을 바닥에 가까이 있는 상자부터 각각 1번, 2번, ..., n번 상자라고 하면 i번 상자의 중심은 (xi, 2L×i - L)이 되고, 이는 i번 상자 한 개의 무게 중심과 같다.

상자의 밀도는 균일하므로, 상자 여러 개의 무게 중심은 각 상자의 무게 중심을 평균 낸 값이 된다.

진수는 원하는 중심 좌표에 상자들을 쌓아올렸을 때 무너지지 않고 균형을 이루는지 알고 싶다.

모든 1 ≤ i < n에 대하여 i+1, i+2, ..., n번 상자들의 무게 중심의 x좌표가 i번 상자의 구간 안에 포함되면 상자 전체가 균형을 이룬다. i번 상자의 구간은 xi-L과 xi+L 사이로 정의하며, xi-L과 xi+L은 포함하지 않는다. 따라서 상자 모서리에 걸쳐 있는 경우는 균형을 이루지 않는 것으로 본다.

n개의 상자의 중심 좌표가 주어지면, 해당 상자들이 균형을 이루는지 알아내자.

입력

첫 번째 줄에는 상자의 개수 n (1 ≤ n ≤ 200,000)과 상자의 크기 L (1 ≤ L ≤ 109)이 주어진다.

두 번째 줄에는 진수가 원하는 각 상자의 무게 중심 x좌표 x1, x2, ..., xn (-109 ≤ xi ≤ 109)이 주어진다.

출력

첫 번째 줄에 해당 상자들이 균형을 이룬다면 "stable", 그렇지 않다면 "unstable"을 출력한다.

예제3

  1. 예제 1

    입력
    3 10
    0 10 9
    
    예상 출력
    stable
    
  2. 예제 2

    입력
    4 10
    1 9 11 13
    
    예상 출력
    unstable
    
  3. 예제 3

    입력
    2 1
    0 -3
    
    예상 출력
    unstable