144872025-01-11 22:02:35csdavidÖsszegzésekcpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Időlimit túllépés182ms6708 KiB
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
subtask26/6
4Elfogadva1ms500 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
subtask36/6
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms504 KiB
12Elfogadva2ms452 KiB
13Elfogadva2ms316 KiB
subtask410/10
14Elfogadva1ms316 KiB
15Elfogadva1ms316 KiB
16Elfogadva1ms504 KiB
17Elfogadva2ms452 KiB
18Elfogadva2ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva8ms612 KiB
22Elfogadva8ms608 KiB
23Elfogadva8ms604 KiB
subtask50/10
24Időlimit túllépés187ms6708 KiB
25Időlimit túllépés187ms6972 KiB
26Időlimit túllépés187ms6708 KiB
27Időlimit túllépés187ms6892 KiB
28Időlimit túllépés189ms6992 KiB
subtask60/10
29Időlimit túllépés180ms6704 KiB
30Időlimit túllépés180ms6452 KiB
31Időlimit túllépés180ms6452 KiB
32Elfogadva1ms500 KiB
33Időlimit túllépés199ms7228 KiB
subtask70/58
34Időlimit túllépés178ms6452 KiB
35Elfogadva1ms316 KiB
36Elfogadva1ms500 KiB
37Elfogadva1ms500 KiB
38Elfogadva1ms316 KiB
39Elfogadva1ms316 KiB
40Elfogadva1ms316 KiB
41Elfogadva1ms316 KiB
42Elfogadva1ms316 KiB
43Elfogadva1ms316 KiB
44Elfogadva1ms504 KiB
45Elfogadva2ms452 KiB
46Elfogadva2ms316 KiB
47Elfogadva1ms316 KiB
48Elfogadva1ms316 KiB
49Elfogadva8ms612 KiB
50Elfogadva8ms608 KiB
51Időlimit túllépés189ms6992 KiB
52Időlimit túllépés180ms6704 KiB
53Időlimit túllépés180ms6452 KiB
54Időlimit túllépés180ms6452 KiB
55Elfogadva1ms500 KiB
56Időlimit túllépés199ms7228 KiB
57Elfogadva1ms500 KiB
58Időlimit túllépés200ms7116 KiB
59Időlimit túllépés200ms7300 KiB
60Időlimit túllépés200ms7164 KiB
61Időlimit túllépés186ms6720 KiB
62Elfogadva1ms508 KiB
63Elfogadva1ms508 KiB
64Elfogadva2ms316 KiB
65Elfogadva2ms316 KiB
66Elfogadva3ms476 KiB