728x90
풀이
"백준 2467, 용액"과 동일한 문제이다.
단, 입력되는 특성값이 항상 오름차순이라는 문구가 빠졌다. 정렬 후 탐색을 해주자.
소스코드
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int compare(const void *a, const void *b){
return *(int*)a - *(int*)b;
}
int main(){
int N;
scanf("%d", &N);
int arr[N];
for (int i = 0; i < N; i++)
scanf("%d", &arr[i]);
qsort(arr, N, sizeof(int), compare);
int left = 0, right = N-1, sum = 2e9;
int left_val = arr[left], right_val = arr[right];
while (left < right){
int temp = arr[left] + arr[right];
if (abs(temp) < sum){
sum = abs(temp);
left_val = arr[left];
right_val = arr[right];
}
temp < 0 ? ++left : --right;
}
printf("%d %d", left_val, right_val);
}
출처 및 참고자료
2470번: 두 용액
첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00
www.acmicpc.net
[백준 2467] 용액 [C]
풀이 특성값의 합이 기존에 구한 특성값의 합보다 작다고 항상 0에 가까운건 아니다. ex) -1 + 1 = 0, -10 + 1 = -9 때문에 특성값 합의 절대값을 이용해 구해야한다. 새로운 특성값 합의 절대값이 기존
kyr-db.tistory.com
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 6588] 골드바흐의 추측 [C] (0) | 2021.08.26 |
---|---|
[백준 2474] 세 용액 [C] (0) | 2021.08.26 |
[백준 2467] 용액 [C] (0) | 2021.08.26 |
[백준 1005] ACM Craft [C] (0) | 2021.08.25 |
[백준 2239] 스도쿠 [C] (0) | 2021.08.25 |