107052024-04-10 09:42:21szilÖsszegzésekcpp17Elfogadva 100/10017ms4744 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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1712 KiB
2Elfogadva3ms1924 KiB
3Elfogadva3ms2284 KiB
subtask26/6
4Elfogadva3ms2456 KiB
5Elfogadva3ms2560 KiB
6Elfogadva2ms2644 KiB
7Elfogadva2ms2732 KiB
8Elfogadva3ms2724 KiB
subtask36/6
9Elfogadva3ms2932 KiB
10Elfogadva3ms3148 KiB
11Elfogadva3ms3240 KiB
12Elfogadva4ms3636 KiB
13Elfogadva4ms3592 KiB
subtask410/10
14Elfogadva3ms2932 KiB
15Elfogadva3ms3148 KiB
16Elfogadva3ms3240 KiB
17Elfogadva4ms3636 KiB
18Elfogadva4ms3592 KiB
19Elfogadva3ms3276 KiB
20Elfogadva3ms3336 KiB
21Elfogadva14ms4704 KiB
22Elfogadva17ms4744 KiB
23Elfogadva14ms4680 KiB
subtask510/10
24Elfogadva3ms3504 KiB
25Elfogadva3ms3660 KiB
26Elfogadva3ms3652 KiB
27Elfogadva3ms3652 KiB
28Elfogadva3ms3660 KiB
subtask610/10
29Elfogadva3ms3868 KiB
30Elfogadva2ms3652 KiB
31Elfogadva3ms3780 KiB
32Elfogadva2ms3864 KiB
33Elfogadva2ms3876 KiB
subtask758/58
34Elfogadva2ms3872 KiB
35Elfogadva2ms3872 KiB
36Elfogadva3ms3888 KiB
37Elfogadva3ms2456 KiB
38Elfogadva3ms2560 KiB
39Elfogadva2ms2644 KiB
40Elfogadva2ms2732 KiB
41Elfogadva3ms2724 KiB
42Elfogadva3ms2932 KiB
43Elfogadva3ms3148 KiB
44Elfogadva3ms3240 KiB
45Elfogadva4ms3636 KiB
46Elfogadva4ms3592 KiB
47Elfogadva3ms3276 KiB
48Elfogadva3ms3336 KiB
49Elfogadva14ms4704 KiB
50Elfogadva17ms4744 KiB
51Elfogadva3ms3660 KiB
52Elfogadva3ms3868 KiB
53Elfogadva2ms3652 KiB
54Elfogadva3ms3780 KiB
55Elfogadva2ms3864 KiB
56Elfogadva2ms3876 KiB
57Elfogadva3ms3888 KiB
58Elfogadva3ms3996 KiB
59Elfogadva3ms4084 KiB
60Elfogadva3ms4084 KiB
61Elfogadva3ms4172 KiB
62Elfogadva3ms4184 KiB
63Elfogadva3ms4184 KiB
64Elfogadva3ms4136 KiB
65Elfogadva4ms4328 KiB
66Elfogadva6ms4484 KiB