[백준 2467번] 용액
2017. 7. 23. 21:47ㆍ알고리즘/백준
반응형
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #include <iostream> using namespace std; int n; long long num[100001], Min = 9876543210, result_a, result_b; int main() { cin >> n; for (int i = 0; i < n; i++) { cin >> num[i]; } for (int i = 0; i < n; i++) { int l=0,r=n,idx; while (r - l >= 1) { int mid = (l + r) / 2; if (num[mid] == (-1 * num[i])) { idx = mid; break; } else if (num[mid] < (-1 * num[i])) { l = mid + 1; } else if (num[mid] > (-1 * num[i])) { r = mid; } idx = mid; } if (i == idx) continue; long long tmp_num = num[i] + num[idx]; if (tmp_num < 0) tmp_num = -1 * tmp_num; if (Min > tmp_num) { Min = tmp_num; if (num[i] > num[idx]) { result_a = num[idx]; result_b = num[i]; } else { result_a = num[i]; result_b = num[idx]; } } } cout << result_a << " " << result_b << '\n'; return 0; } | cs |
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 1107번] 리모컨 (2) | 2017.07.23 |
---|---|
[백준 5397번] 키로거 (0) | 2017.07.23 |
[백준 10971번] 외판원 순회 2 (0) | 2017.07.23 |
[백준 10844번] 쉬운 계단 수 (0) | 2017.07.13 |
[백준 1261번] 알고스팟 (0) | 2017.07.13 |