144872025-01-11 22:02:35csdavidÖsszegzésekcpp17Time limit exceeded 22/100200ms7300 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;
        }
    }
    //cout << "stop : " << stop;
    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=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 exceeded182ms6708 KiB
2Accepted1ms316 KiB
3Accepted1ms316 KiB
subtask26/6
4Accepted1ms500 KiB
5Accepted1ms316 KiB
6Accepted1ms316 KiB
7Accepted1ms316 KiB
8Accepted1ms316 KiB
subtask36/6
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted1ms504 KiB
12Accepted2ms452 KiB
13Accepted2ms316 KiB
subtask410/10
14Accepted1ms316 KiB
15Accepted1ms316 KiB
16Accepted1ms504 KiB
17Accepted2ms452 KiB
18Accepted2ms316 KiB
19Accepted1ms316 KiB
20Accepted1ms316 KiB
21Accepted8ms612 KiB
22Accepted8ms608 KiB
23Accepted8ms604 KiB
subtask50/10
24Time limit exceeded187ms6708 KiB
25Time limit exceeded187ms6972 KiB
26Time limit exceeded187ms6708 KiB
27Time limit exceeded187ms6892 KiB
28Time limit exceeded189ms6992 KiB
subtask60/10
29Time limit exceeded180ms6704 KiB
30Time limit exceeded180ms6452 KiB
31Time limit exceeded180ms6452 KiB
32Accepted1ms500 KiB
33Time limit exceeded199ms7228 KiB
subtask70/58
34Time limit exceeded178ms6452 KiB
35Accepted1ms316 KiB
36Accepted1ms500 KiB
37Accepted1ms500 KiB
38Accepted1ms316 KiB
39Accepted1ms316 KiB
40Accepted1ms316 KiB
41Accepted1ms316 KiB
42Accepted1ms316 KiB
43Accepted1ms316 KiB
44Accepted1ms504 KiB
45Accepted2ms452 KiB
46Accepted2ms316 KiB
47Accepted1ms316 KiB
48Accepted1ms316 KiB
49Accepted8ms612 KiB
50Accepted8ms608 KiB
51Time limit exceeded189ms6992 KiB
52Time limit exceeded180ms6704 KiB
53Time limit exceeded180ms6452 KiB
54Time limit exceeded180ms6452 KiB
55Accepted1ms500 KiB
56Time limit exceeded199ms7228 KiB
57Accepted1ms500 KiB
58Time limit exceeded200ms7116 KiB
59Time limit exceeded200ms7300 KiB
60Time limit exceeded200ms7164 KiB
61Time limit exceeded186ms6720 KiB
62Accepted1ms508 KiB
63Accepted1ms508 KiB
64Accepted2ms316 KiB
65Accepted2ms316 KiB
66Accepted3ms476 KiB