144862025-01-11 21:57:16csdavidÖsszegzésekcpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Időlimit túllépés184ms6708 KiB
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
subtask26/6
4Elfogadva1ms500 KiB
5Elfogadva1ms508 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
subtask36/6
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva2ms500 KiB
13Elfogadva2ms316 KiB
subtask410/10
14Elfogadva1ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms316 KiB
17Elfogadva2ms500 KiB
18Elfogadva2ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms508 KiB
21Elfogadva8ms564 KiB
22Elfogadva8ms684 KiB
23Elfogadva8ms564 KiB
subtask50/10
24Időlimit túllépés175ms6536 KiB
25Időlimit túllépés177ms6448 KiB
26Időlimit túllépés177ms6452 KiB
27Időlimit túllépés175ms6452 KiB
28Időlimit túllépés178ms6564 KiB
subtask60/10
29Időlimit túllépés186ms6704 KiB
30Időlimit túllépés187ms6792 KiB
31Időlimit túllépés186ms6864 KiB
32Elfogadva1ms316 KiB
33Időlimit túllépés199ms7172 KiB
subtask70/58
34Időlimit túllépés190ms6960 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms316 KiB
37Elfogadva1ms500 KiB
38Elfogadva1ms508 KiB
39Elfogadva1ms316 KiB
40Elfogadva1ms316 KiB
41Elfogadva1ms316 KiB
42Elfogadva1ms316 KiB
43Elfogadva1ms316 KiB
44Elfogadva1ms316 KiB
45Elfogadva2ms500 KiB
46Elfogadva2ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva1ms508 KiB
49Elfogadva8ms564 KiB
50Elfogadva8ms684 KiB
51Időlimit túllépés178ms6564 KiB
52Időlimit túllépés186ms6704 KiB
53Időlimit túllépés187ms6792 KiB
54Időlimit túllépés186ms6864 KiB
55Elfogadva1ms316 KiB
56Időlimit túllépés199ms7172 KiB
57Elfogadva1ms316 KiB
58Időlimit túllépés200ms7248 KiB
59Időlimit túllépés196ms7160 KiB
60Időlimit túllépés200ms7376 KiB
61Időlimit túllépés180ms6612 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Elfogadva1ms316 KiB
65Elfogadva2ms316 KiB
66Elfogadva3ms460 KiB