항목 두 개를 골라 값의 차이를 구해요. 두 값은 서로 달라야 해요. 가능한 양의 차이 중 가장 작은 값을 반환하고, 서로 다른 값의 항목 두 개를 고를 수 없으면 -1을 반환해요.
int solution(vector<int> values)가 요구한 값을 반환하도록 잘못된 한 줄만 수정해 주세요.
매개변수와 반환값
values의 길이는 0100, 각 값은 01,000,000이에요. 중복 값과 임의 순서를 허용해요. 반환값은 1~1,000,000 또는 -1이에요.
예시
values={10, 2, 3, 20}이면1를 반환해요. 2와 3의 차이 1이 가장 작아요.values={8, 8, 8}이면-1를 반환해요. 모든 값이 같아 양의 차이를 만들 수 없어요.
실행용 입출력
첫 줄에 항목 수 n, 다음 줄에 값 n개를 입력해요. n=0이면 값 줄은 없어도 돼요. main은 입력을 매개변수로 바꾸고 반환값을 출력하는 채점 하네스예요. 풀이 대상은 solution의 한 줄이에요.
예시 입력
4 10 2 3 20
예상 결과
1
예시 입력
3 8 8 8
예상 결과
-1
핵심 개념
basic-sort-search: 정렬 뒤의 기준과 순서를 읽어요.conditionals: 조건과 정확한 경계를 판별해요.stl-vector: 벡터의 크기와 인덱스로 매개변수를 읽어요.