논리학 교수

면접 대비

시간 제한2초메모리 제한128 MB

요약
N개의 문장이 각각 '정확히 x개의 문장이 참이다'라고 주장할 때, 모순 없이 가능한 참인 문장 개수 중 최댓값을 구하고 불가능하면 -1을 출력합니다.
난이도

쉬움10점 중 3점

유형
완전 탐색, 수학
정답자
아직 제출이 없습니다

문제

논리학 교수 양항승은 칠판에 N개의 문장을 썼다. 각 문장은 다음과 같은 형태이다.

  • 정확히 x개의 문장이 참이다.

정수 x는 문장마다 다를 수 있다. 입력으로는 각 문장에 적힌 정수 x가 차례대로 주어진다.

칠판에 적힌 N개의 문장이 모두 주어졌을 때, 그중 실제로 참인 문장이 몇 개인지 구하자.

입력

첫째 줄에 양항승이 쓴 문장의 개수 N이 주어진다. N은 1 이상 50 이하인 자연수이다.

둘째 줄에 각 문장에 적힌 정수 N개가 주어진다. 이 정수들은 0 이상 50 이하이다.

출력

첫째 줄에 칠판에 적힌 문장 중 참인 문장의 개수를 출력한다.

문장들이 서로 모순된다면 -1을 출력한다. 가능한 답이 여러 가지라면 그중 가장 큰 값을 출력한다.

예제4

  1. 예제 1

    입력
    4
    0 1 2 3
    
    예상 출력
    1
    
  2. 예제 2

    입력
    1
    0
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    6
    0 3 1 3 2 3
    
    예상 출력
    3
    
  4. 예제 4

    입력
    2
    1 1
    
    예상 출력
    0