피라미드
면접 대비시간 제한1초메모리 제한1024 MB
길이가 같은 A 구간과 B 구간을 주면, 인접한 피라미드끼리 돌을 옮겨 A[L..R]을 B[X..Y]로 바꿀 수 있는지 판정합니다.
문제
파라오 쿠푸가 위대한 통치자였다는 것은 누구나 알지만, 그가 패션에 깊은 관심이 있었다는 사실은 잘 알려져 있지 않다. 옛날 그에게는 0번부터 N-1번까지 번호가 붙은 피라미드 N개가 있었고, i번 피라미드()는 개의 돌로 이루어져 있었다. 그는 그해 가장 유행하는 피라미드를 실은 최신 카탈로그도 갖고 있었다. 카탈로그에는 0번부터 N-1번까지 번호가 붙은 피라미드 N개가 있고, i번 피라미드()는 개의 돌로 이루어져 있다.
인 모든 , 에 대해 피라미드 구간 는 수열 이다. 구간 도 같은 방식으로 정의한다.
쿠푸는 매일 카탈로그를 보고 를 만족하는 두 구간 과 를 고른다. , , , 의 값은 날마다 달라질 수 있다. 그다음 구간 을 로 바꿀 수 있는지 알고 싶어 한다. 변환은 구간 안의 피라미드에서 돌 하나를 가져와 구간 안의 인접한 피라미드로 옮기는 동작을 원하는 만큼 반복하는 것이다.
이 문제에서는 정수 , , , 가 주어졌을 때 을 로 바꿀 수 있는지 판단해야 한다. 각 피라미드의 돌 개수는 변하지 않는다. 쿠푸는 한 구간을 다른 구간으로 바꿀 수 있는지만 궁금해한다.
제한
제한 시간: 1000 ms. 메모리 제한: 1024 MB.
can_transform 호출마다 다음을 만족한다.