144852025-01-11 21:53:40csdavidÖsszegzésekcpp17Time limit exceeded 6/100200ms7528 KiB
#include <iostream>
#include <fstream>
using namespace std;

int n, o=0;


void kisebb(int a[]){
    int stop=0, osszeg=0;
    for(int i=n-1; i>=0; i--){
        if(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){
        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;
            }
        }
        else{
            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 exceeded179ms6608 KiB
2Accepted1ms316 KiB
3Accepted1ms316 KiB
subtask26/6
4Accepted1ms512 KiB
5Accepted2ms316 KiB
6Accepted1ms316 KiB
7Accepted1ms316 KiB
8Accepted1ms316 KiB
subtask30/6
9Time limit exceeded181ms6704 KiB
10Time limit exceeded182ms6452 KiB
11Time limit exceeded182ms6884 KiB
12Time limit exceeded182ms6676 KiB
13Time limit exceeded178ms6708 KiB
subtask40/10
14Time limit exceeded181ms6704 KiB
15Time limit exceeded182ms6452 KiB
16Time limit exceeded182ms6884 KiB
17Time limit exceeded182ms6676 KiB
18Time limit exceeded178ms6708 KiB
19Accepted1ms316 KiB
20Accepted2ms316 KiB
21Accepted8ms576 KiB
22Accepted8ms564 KiB
23Accepted8ms564 KiB
subtask50/10
24Time limit exceeded190ms6964 KiB
25Time limit exceeded189ms6960 KiB
26Time limit exceeded192ms7220 KiB
27Time limit exceeded190ms7064 KiB
28Time limit exceeded177ms6776 KiB
subtask60/10
29Time limit exceeded188ms6956 KiB
30Time limit exceeded188ms6968 KiB
31Time limit exceeded189ms6964 KiB
32Accepted1ms316 KiB
33Time limit exceeded200ms7528 KiB
subtask70/58
34Time limit exceeded178ms6452 KiB
35Accepted1ms508 KiB
36Accepted1ms512 KiB
37Accepted1ms512 KiB
38Accepted2ms316 KiB
39Accepted1ms316 KiB
40Accepted1ms316 KiB
41Accepted1ms316 KiB
42Time limit exceeded181ms6704 KiB
43Time limit exceeded182ms6452 KiB
44Time limit exceeded182ms6884 KiB
45Time limit exceeded182ms6676 KiB
46Time limit exceeded178ms6708 KiB
47Accepted1ms316 KiB
48Accepted2ms316 KiB
49Accepted8ms576 KiB
50Accepted8ms564 KiB
51Time limit exceeded177ms6776 KiB
52Time limit exceeded188ms6956 KiB
53Time limit exceeded188ms6968 KiB
54Time limit exceeded189ms6964 KiB
55Accepted1ms316 KiB
56Time limit exceeded200ms7528 KiB
57Accepted1ms420 KiB
58Time limit exceeded200ms7296 KiB
59Time limit exceeded200ms7432 KiB
60Time limit exceeded199ms7340 KiB
61Time limit exceeded175ms6452 KiB
62Accepted1ms316 KiB
63Accepted1ms316 KiB
64Accepted1ms564 KiB
65Accepted2ms512 KiB
66Accepted3ms316 KiB