열심히 코딩 하숭!
[알고리즘] 2470 두 용액 | baekjoon 문제 풀이 본문
https://www.acmicpc.net/problem/2470
#include <iostream>
#include <algorithm>
using namespace std;
pair<int, int> arr[100000];
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int N; cin >> N;
int num;
for (int i = 0; i < N; i++) {
cin >> num;
if (num < 0) arr[i] = { (-1) * num, -1 };
else arr[i] = { num, 1 };
}
sort(arr, arr + N);
int a, b, min, value;
a = 0;
b = 1;
min = abs(arr[a].first * arr[a].second + arr[b].first * arr[b].second);
for (int i = 1; i < N - 1; i++) {
value = abs(arr[i].first * arr[i].second + arr[i + 1].first * arr[i + 1].second);
if (min > value) {
a = i;
b = i + 1;
min = value;
}
}
int resultA = arr[a].first * arr[a].second;
int resultB = arr[b].first * arr[b].second;
if (resultA < resultB) cout << resultA << " " << resultB;
else cout << resultB << " " << resultA;
}
'코딩테스트 > 알고리즘' 카테고리의 다른 글
[알고리즘][정렬] 10815번 숫자 카드 | baekjoon 문제 풀이 (0) | 2023.04.03 |
---|---|
[알고리즘][정렬] 10814번 나이순 정렬 | baekjoon 문제 풀이 (0) | 2023.04.03 |
[알고리즘][DP, 수학] 2839번 설탕 배달 | baekjoon 문제 풀이 (0) | 2023.04.02 |
[알고리즘][수학] 1181번 단어 정렬 | baekjoon 문제 풀이 (0) | 2023.04.02 |
[알고리즘][수학] 11399번 ATM | baekjoon 문제 풀이 (0) | 2023.04.02 |