10705 2024. 04. 10 09:42:21 szil Összegzések cpp17 Elfogadva 100/100 17ms 4744 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

const int MAXN = 100'001;

int a[MAXN];

int main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int n, szum = 0; cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
        szum += a[i];
    }
    if (n == 1) {
        cout << "0\n";
    } else {
        int k = a[n-1] + 1;
        vector<int> ans;
        for (int i = 1; i <= n; i++) {
            if (a[i] < k && i != n-1) {
                for (int j = 0; j < a[i] - (i == n); j++) ans.emplace_back(1);
            }
            else {
                if (i == n-1) {
                    ans.emplace_back(a[i]+1);
                }
                else {
                    ans.emplace_back(a[i]);
                }
            }
        }
        sort(ans.rbegin(), ans.rend());
        for (int i : ans) {
            cout << i << " ";
        }
        cout << "\n";
    }
    if (n == szum) {
        cout << "0\n";
    } else {
        int pos = 0;
        for (int i = 1; i <= n; i++) {
            if (a[i] >= 2) pos = i; 
        }
        int x = 1;
        for (int i = pos+1; i <= n; i++) {
            x += a[i];
        }
        vector<int> ans = {a[pos] - 1};
        for (int i = 1; i < pos; i++) ans.emplace_back(a[i]);
        while (x > 0) {
            ans.emplace_back(min(a[pos] - 1, x));
            x -= min(a[pos] - 1, x);
        }
        sort(ans.rbegin(), ans.rend());
        for (int i : ans) {
            if (i > 0) cout << i << " ";
        }
        cout << "\n";
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1712 KiB
2 Elfogadva 3ms 1924 KiB
3 Elfogadva 3ms 2284 KiB
subtask2 6/6
4 Elfogadva 3ms 2456 KiB
5 Elfogadva 3ms 2560 KiB
6 Elfogadva 2ms 2644 KiB
7 Elfogadva 2ms 2732 KiB
8 Elfogadva 3ms 2724 KiB
subtask3 6/6
9 Elfogadva 3ms 2932 KiB
10 Elfogadva 3ms 3148 KiB
11 Elfogadva 3ms 3240 KiB
12 Elfogadva 4ms 3636 KiB
13 Elfogadva 4ms 3592 KiB
subtask4 10/10
14 Elfogadva 3ms 2932 KiB
15 Elfogadva 3ms 3148 KiB
16 Elfogadva 3ms 3240 KiB
17 Elfogadva 4ms 3636 KiB
18 Elfogadva 4ms 3592 KiB
19 Elfogadva 3ms 3276 KiB
20 Elfogadva 3ms 3336 KiB
21 Elfogadva 14ms 4704 KiB
22 Elfogadva 17ms 4744 KiB
23 Elfogadva 14ms 4680 KiB
subtask5 10/10
24 Elfogadva 3ms 3504 KiB
25 Elfogadva 3ms 3660 KiB
26 Elfogadva 3ms 3652 KiB
27 Elfogadva 3ms 3652 KiB
28 Elfogadva 3ms 3660 KiB
subtask6 10/10
29 Elfogadva 3ms 3868 KiB
30 Elfogadva 2ms 3652 KiB
31 Elfogadva 3ms 3780 KiB
32 Elfogadva 2ms 3864 KiB
33 Elfogadva 2ms 3876 KiB
subtask7 58/58
34 Elfogadva 2ms 3872 KiB
35 Elfogadva 2ms 3872 KiB
36 Elfogadva 3ms 3888 KiB
37 Elfogadva 3ms 2456 KiB
38 Elfogadva 3ms 2560 KiB
39 Elfogadva 2ms 2644 KiB
40 Elfogadva 2ms 2732 KiB
41 Elfogadva 3ms 2724 KiB
42 Elfogadva 3ms 2932 KiB
43 Elfogadva 3ms 3148 KiB
44 Elfogadva 3ms 3240 KiB
45 Elfogadva 4ms 3636 KiB
46 Elfogadva 4ms 3592 KiB
47 Elfogadva 3ms 3276 KiB
48 Elfogadva 3ms 3336 KiB
49 Elfogadva 14ms 4704 KiB
50 Elfogadva 17ms 4744 KiB
51 Elfogadva 3ms 3660 KiB
52 Elfogadva 3ms 3868 KiB
53 Elfogadva 2ms 3652 KiB
54 Elfogadva 3ms 3780 KiB
55 Elfogadva 2ms 3864 KiB
56 Elfogadva 2ms 3876 KiB
57 Elfogadva 3ms 3888 KiB
58 Elfogadva 3ms 3996 KiB
59 Elfogadva 3ms 4084 KiB
60 Elfogadva 3ms 4084 KiB
61 Elfogadva 3ms 4172 KiB
62 Elfogadva 3ms 4184 KiB
63 Elfogadva 3ms 4184 KiB
64 Elfogadva 3ms 4136 KiB
65 Elfogadva 4ms 4328 KiB
66 Elfogadva 6ms 4484 KiB