[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

Hãy đọc nội quy trước khi bình luận.



  • 0
    vananluu2012  đã bình luận lúc 18, Tháng 7, 2026, 10:29

    :)


  • 0
    vananluu2012  đã bình luận lúc 18, Tháng 7, 2026, 10:29

    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; }