들어가야할 수가 어느 구간에 존재해야할지 채크만 해주면 된다.
가장 클지, 3번째 수일지, 2번째 수일지 채크해주면 된다.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
using namespace std;
#define INF 1234567890
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int arr[3];
cin >> arr[0] >> arr[1] >> arr[2];
sort(arr, arr + 3);
if (arr[1] - arr[0] == arr[2] - arr[1])
cout << arr[2] + arr[2] - arr[1];
else if(arr[1] - arr[0] < arr[2] - arr[1])
cout << (arr[2] + arr[1]) / 2;
else
cout << (arr[1] + arr[0])/2;
return 0;
}
네 번째 수
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 1403 | 678 | 637 | 52.775% |
문제
상근이는 등차수열을 이루는 정수 4개를 골랐다. 이것은 상근이가 고른 수 4개를 정렬했을 때, 인접한 쌍의 차이가 일정하다는 것을 의미한다. 그 다음 이렇게 고른 숫자 4개를 노래로 만들어서 외우고 다닌다.
어느날, 상근이는 자신이 고른 4개 숫자 중 1개를 까먹었다.
상근이가 고른 네 개의 숫자 중 세 개가 주어졌을 때, 네 번째 숫자를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 상근이가 고른 네 개의 숫자 중 세 개가 주어진다. 이 숫자는 크기 순이 아닐 수도 있고, -100보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
첫째 줄에 네 번째 숫자를 출력한다. 정답이 여러 개일 경우에는 아무거나 출력하면 된다. 또한 정답이 존재하지 않는 경우는 입력으로 주어지지 않는다.
예제 입력 1
4 6 8
예제 출력 1
10
출처
Contest > Croatian Open Competition in Informatics > COCI 2007/2008 > Contest #3 1번
- 문제를 번역한 사람: baekjoon