2026-01-01 21:35:43 +09:00

35 lines
780 B
Swift

func solve() {
guard let N = Int(readLine() ?? ""),
let input = readLine()
else { return }
var val: [Int] = input.split(separator: " ").compactMap{Int($0)}
val.sort(by: <)
var minAbs = Int.max
var ans: [Int] = [0, 0, 0]
for fix in 0..<N-1 {
var (L, R) = (fix + 1, N-1)
while L < R {
let temp = val[fix] + val[L] + val[R]
if abs(temp) < minAbs {
minAbs = abs(temp)
ans = [val[fix], val[L], val[R]]
}
if temp > 0 {
R -= 1
}
else {
L += 1
}
}
}
print(ans.compactMap({String($0)}).joined(separator: " "))
}
solve()