적분
시간 제한2초메모리 제한512 MB
정수점 일부에서 f 값이 주어질 때, 각 구간에서 단조인 조각별 선형 함수로 확장해 0부터 n까지의 적분값이 y가 되도록 한다.
- 난이도
어려움10점 중 8점
- 유형
- 구간
- 정답자
- 아직 제출이 없습니다
문제
양의 정수 에 대해 은 실수 구간 을 뜻한다. 함수 은 일부만 정해져 있다. 의 부분집합 에 속하는 점에서만 의 값이 주어진다.
집합 는 다음을 만족한다.
- 의 모든 점은 정수다.
- 의 양 끝점 과 은 둘 다 에 속한다.
함수 는 다음을 만족한다.
- 의 정수점에서 의 값은 정수다.
- 의 이웃한 두 점 사이에서 는 단조롭다. 에서 이웃한 두 점 에 대해 또는 이 성립한다.
- 의 정수가 아닌 점 에서 는 와 의 선형 보간으로 정해진다. 곧 이다.
의 정수점에서 의 값은 마음대로 정할 수 있다. (가 의 정수점 전체를 포함할 수도 있다.) 주어진 에 대해 , 곧 과 사이에서 아래의 면적이 가 되도록 값을 정할 수 있는지 판정하라.
입력
입력은 여러 개의 테스트 케이스로 이루어지고 파일 끝에서 끝난다.
테스트 케이스의 첫 줄에는 세 정수 , , 가 주어진다. 차례로 구간의 길이, 집합 의 크기, 의 값이다. 이어지는 개의 줄에는 의 한 점에서 의 값을 나타내는 두 정수 와 가 주어지고, 를 뜻한다. 는 증가하는 순서로 주어지지 않는다.
제한
- 모든 테스트 케이스의 의 합은 이하다
- 이고, 개의 는 서로 다른 정수이며 과 을 포함한다
- , 는 정수
- , 는 정수
- 위 조건을 지키면서 의 정수점에 값을 어떻게 정하더라도 이다
출력
각 테스트 케이스마다 인 정수점에 의 값을 정해 , 곧 과 사이에서 아래의 면적이 가 되도록 만들 수 있는지 판정한다.
만들 수 없으면 문자 N만 있는 한 줄을 출력한다. 만들 수 있으면 문자 S를 출력하고 이어서 인 정수점의 값을 가 커지는 순서로 같은 줄에 출력한다. 맨 앞 문자와 각 값은 공백 하나로 구분한다. 답이 여러 개면 값의 수열이 사전순으로 가장 앞선 것을 출력한다.