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

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

여행 주행거리계

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

요약
주행 거리 N개가 주어질 때, 목록에서 거리 하나를 뺀 나머지의 서로 다른 합을 오름차순으로 구합니다.
난이도

쉬움10점 중 2점

유형
배열, 정렬
정답자
아직 제출이 없습니다

문제

여행 주행거리계는 한 번의 여행에서 달린 거리를 기록하는 데 쓸 수 있다. 당신은 매우 성실해서, 여행을 시작할 때마다 주행거리계를 0으로 맞추고 여행이 끝나면 달린 거리를 적어 둔다.

모든 여행의 거리(킬로미터)를 목록으로 관리한다. 안타깝게도 이 목록의 수 중 정확히 하나는 가짜이다. 다른 차량으로 간 여행 한 번의 거리를 실수로 기록했고, 그 여행이 목록의 몇 번째 항목인지는 잊어버렸다.

기록된 거리 중 하나가 가짜라고 할 때, 자신의 차량으로 달렸을 수 있는 총 거리 DD를 모두 구하라. 구체적으로, 목록에서 여행 하나를 제거했을 때 남은 거리들의 합이 DD가 되는 모든 값을 찾는다.

입력

첫 번째 줄에 기록한 거리의 개수 NN이 주어진다 (2≤N≤1052 \le N \le 10^5).

두 번째 줄에는 NN개의 정수 d1,d2,…,dNd_1, d_2, \ldots, d_N이 주어진다 (1≤di≤1041 \le d_i \le 10^4). did_i는 ii번째로 기록한 여행의 거리이다.

출력

첫 번째 줄에 얻을 수 있는 서로 다른 거리의 개수 KK를 출력한다. 두 번째 줄에는 기록된 거리 하나를 정확히 제거해서 얻을 수 있는 합 KK개를 오름차순으로 출력한다.

예제4

  1. 예제 1

    입력
    4
    1 5 3 1
    
    예상 출력
    3
    5 7 9
    
  2. 예제 2

    입력
    5
    10 9 8 7 6
    
    예상 출력
    5
    30 31 32 33 34
    
  3. 예제 3

    입력
    7
    87 42 101 102 191 87 42
    
    예상 출력
    5
    461 550 551 565 610
    
  4. 예제 4

    입력
    5
    10 10 10 10 10
    
    예상 출력
    1
    40