[HSG Quận Cầu Giấy - 2024] Bài 4: Ghép số
Xem dạng PDF
Gửi bài giải
Điểm:
20,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch
Cho một dãy ~a~, có ~n~ số nguyên dương.
Một thao tác ghép số ~x~ và số ~y~, là thao tác viết số ~y~ ngay sau số ~x~.
Ví dụ, ghép số ~12~ và số ~45~ ta được số ~1245~.
Hỏi số lớn nhất có thể ghép từ ~3~ số bất kì trong mảng ~a~ là bao nhiêu?.
INPUT
Dòng đầu tiên chứa số nguyên dương ~n~ (~3 \le n \le 2 \times 10^5~).
Dòng tiếp theo chứa ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~1 \le a_i \le 10^6~).
OUTPUT
Dòng duy nhất chứa đáp án của bài toán.
SAMPLE INPUT 1
5
1
6
8
10
9
SAMPLE OUTPUT 1
9810
Bình luận
:)
include <bits/stdc++.h>
using namespace std; int main() { ios::syncwithstdio(false); cin.tie(0);cout.tie(0); int n; cin >> n; int m[n]; for (int i = 0; i < n; i ++) cin >> m[i]; sort(m, m + n, greater<int>()); string a = tostring(m[0]); string b = tostring(m[1]); string c = to_string(m[2]); string v1 = a + b + c; string v2 = a + c + b; string v3 = b + c + a; string v4 = b + a + c; string v5 = c + b + a; string v6 = c + a + b; cout << max({v1, v2, v3, v4, v5, v6}); return 0; }