만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

등차수열의 합

면접 대비

시간 제한3초메모리 제한1024 MB

요약
수열 A를 두 등차수열 B와 C의 합으로 나눌 수 있는지 판별하고, 가능하면 B와 C를 출력합니다.
난이도

쉬움10점 중 3점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

수학과 전공과목인 조합론을 수강하는 정휘는 등차수열의 합 공식을 배우고 있다. 2023 SCON 대회 개최까지 일주일이 남았지만, 문제를 절반도 만들지 못했다. 정휘는 화장실에 가는 척하며 정보과학관으로 달려와 등차수열에 관한 문제를 만들었다.

길이가 NN인 수열 AA가 주어졌을 때, 1≤i≤N1\le i\le N인 모든 ii에 대해 Ai=Bi+CiA_i=B_i+C_i를 만족하는 길이가 NN인 등차수열 BB, CC를 구하라.

수열 A={A1,A2,⋯ ,AN}A=\{ A_1,A_2,\cdots ,A_N \}이 등차수열이라는 것은, 2≤i≤N2\leq i\leq N인 모든 ii에 대해 Ai−Ai−1A_i-A_{i-1}이 모두 같은 값이라는 뜻이다. 이 정의에 따르면 길이가 22 이하인 수열은 항상 등차수열이다.

입력

첫째 줄에 수열 AA의 길이 NN이 주어진다.

둘째 줄에 수열 AA의 원소 A1,A2,⋯ ,ANA_1,A_2,\cdots ,A_N이 순서대로 공백으로 구분되어 주어진다.

출력

1≤i≤N1\leq i\leq N인 모든 ii에 대해 Ai=Bi+CiA_i=B_i+C_i를 만족하는 길이가 NN인 등차수열 BB, CC가 존재하지 않으면 첫째 줄에 NO를 출력한다.

그렇지 않으면 첫째 줄에 YES를 출력한다. 둘째 줄에 BB의 원소를, 셋째 줄에 CC의 원소를 차례대로 공백으로 구분해 출력한다. 가능한 수열 BB, CC가 여럿이면 그중 아무거나 하나를 출력한다. 수열 BB, CC가 존재하면 제한을 만족하는 출력이 존재함을 증명할 수 있다.

제한

  • 1≤N≤1051\leq N\leq 10^5
  • −109≤Ai≤109-10^9\leq A_i\leq 10^9 (1≤i≤N)(1\le i\le N)
  • −1018≤Bi,Ci≤1018-10^{18}\leq B_i,C_i\leq 10^{18} (1≤i≤N)(1\le i\le N)
  • AiA_i, BiB_i, CiC_i는 모두 정수이다 (1≤i≤N)(1\le i\le N)

예제3

  1. 예제 1

    입력
    4
    1 2 3 4
    
    예상 출력
    YES
    2 4 6 8
    -1 -2 -3 -4
    
  2. 예제 2

    입력
    3
    1 2 1
    
    예상 출력
    NO
    
  3. 예제 3

    입력
    1
    0
    
    예상 출력
    YES
    -3
    3