144862025-01-11 21:57:16csdavidÖsszegzésekcpp17Time limit exceeded 22/100200ms7376 KiB
#include <iostream>
#include <fstream>
using namespace std;

int n, o=0;


void kisebb(int a[]){
    int stop=-1, osszeg=0;
    for(int i=n-1; i>=0; i--){
        if(a[i]>1){
            stop=i;
            break;
        }
    }
    if(stop==-1){
        cout << 0 << '\n';
        return;
    }
    int i=0;
    while(i<stop){
        cout << a[i] << ' ';
        osszeg+=a[i];
        i++;
    }
    cout << a[stop]-1;
    osszeg+=a[stop]-1;
    osszeg=o-osszeg;
    while(osszeg){
        if(osszeg>=a[stop]-1){
            cout << ' ' << a[stop]-1;
            osszeg-=a[stop]-1;
        }
        else{
            cout << ' ' << osszeg;
            osszeg=0;
        }

    }
    cout << '\n';
}
void nagyobb(int a[]){
    int stop=0, osszeg=0;
    for(int i=n-1; i>0; i--){
        if(i>0){
            if(a[i]!=a[i-1]){
                stop=i;
                break;
            }
        }

    }
    int i=0;
    while(i<stop){
        cout << a[i] << ' ';
        osszeg+=a[i];
        i++;
    }
    cout << a[stop]+1;
    osszeg+=a[stop]+1;
    osszeg=o-osszeg;
    while(osszeg){
        cout << ' ' << 1;
        osszeg--;

    }
    cout << '\n';

}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> n;
    int a[n];
    for(int i=0; i<n; i++){
        cin >> a[i];
        o+=a[i];
    }
    if(n==1){
        cout << 0 << '\n';
        if(a[0]>1){
            cout << a[0]-1 << ' ' << 1;
        }
        else cout << 0;
        return 0;
    }
    nagyobb(a);
    kisebb(a);
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Time limit exceeded184ms6708 KiB
2Accepted1ms316 KiB
3Accepted1ms316 KiB
subtask26/6
4Accepted1ms500 KiB
5Accepted1ms508 KiB
6Accepted1ms316 KiB
7Accepted1ms316 KiB
8Accepted1ms316 KiB
subtask36/6
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted1ms316 KiB
12Accepted2ms500 KiB
13Accepted2ms316 KiB
subtask410/10
14Accepted1ms316 KiB
15Accepted1ms316 KiB
16Accepted1ms316 KiB
17Accepted2ms500 KiB
18Accepted2ms316 KiB
19Accepted1ms316 KiB
20Accepted1ms508 KiB
21Accepted8ms564 KiB
22Accepted8ms684 KiB
23Accepted8ms564 KiB
subtask50/10
24Time limit exceeded175ms6536 KiB
25Time limit exceeded177ms6448 KiB
26Time limit exceeded177ms6452 KiB
27Time limit exceeded175ms6452 KiB
28Time limit exceeded178ms6564 KiB
subtask60/10
29Time limit exceeded186ms6704 KiB
30Time limit exceeded187ms6792 KiB
31Time limit exceeded186ms6864 KiB
32Accepted1ms316 KiB
33Time limit exceeded199ms7172 KiB
subtask70/58
34Time limit exceeded190ms6960 KiB
35Accepted1ms316 KiB
36Accepted1ms316 KiB
37Accepted1ms500 KiB
38Accepted1ms508 KiB
39Accepted1ms316 KiB
40Accepted1ms316 KiB
41Accepted1ms316 KiB
42Accepted1ms316 KiB
43Accepted1ms316 KiB
44Accepted1ms316 KiB
45Accepted2ms500 KiB
46Accepted2ms316 KiB
47Accepted1ms316 KiB
48Accepted1ms508 KiB
49Accepted8ms564 KiB
50Accepted8ms684 KiB
51Time limit exceeded178ms6564 KiB
52Time limit exceeded186ms6704 KiB
53Time limit exceeded187ms6792 KiB
54Time limit exceeded186ms6864 KiB
55Accepted1ms316 KiB
56Time limit exceeded199ms7172 KiB
57Accepted1ms316 KiB
58Time limit exceeded200ms7248 KiB
59Time limit exceeded196ms7160 KiB
60Time limit exceeded200ms7376 KiB
61Time limit exceeded180ms6612 KiB
62Accepted1ms316 KiB
63Accepted1ms316 KiB
64Accepted1ms316 KiB
65Accepted2ms316 KiB
66Accepted3ms460 KiB