모두 정수인가?

면접 대비

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

요약
정렬된 목록에서 서로 다른 세 인덱스 i, j, k를 골랐을 때 (A[i]-A[j])/A[k]가 항상 정수인지 판별한다.
난이도

쉬움10점 중 3점

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

문제

정수만으로 계산하는 것은 모든 프로그래머의 꿈이다. 부동 소수점 수, 추정 오차 같은 것을 다룰 필요가 없기 때문이다. 나눗셈을 위해 컴퓨터에 부동 소수점 연산 장치를 둘 필요조차 없다!

여러분의 회사는 정수 문제를 효율적으로 해결하는 새로운 계산 모델을 만들었다고 주장한다. ICPC(Integer Computing Processors Company)의 소프트웨어 엔지니어인 여러분은 다음을 검사하는 검증기를 작성하려고 한다.

양의 정수 리스트 A[0], ..., A[n − 1]이 주어진다. 이 리스트에서 서로 다른 세 원소 A[i], A[j], A[k]를 임의로 고르는데, i, j, k는 서로 다르다. 이때 (A[i]−A[j])/A[k]는 항상 정수인가?

입력

입력의 첫째 줄에는 리스트에 있는 양의 정수의 개수 n이 주어진다. 입력의 둘째 줄에는 n개의 양의 정수 A[0], ..., A[n − 1]이 공백으로 구분되어 주어진다.

출력

(A[i]−A[j])/A[k]가 항상 정수이면 yes를 출력한다. 그렇지 않으면 no를 출력한다.

제한

  • 3 ≤ n ≤ 50
  • 1 ≤ A[0] ≤ A[1] ≤ ... ≤ A[n − 1] ≤ 100

예제2

  1. 예제 1

    입력
    5
    1 1 1 1 4
    
    예상 출력
    yes
    
  2. 예제 2

    입력
    5
    1 2 4 8 16
    
    예상 출력
    no