144852025-01-11 21:53:40csdavidÖsszegzésekcpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Időlimit túllépés179ms6608 KiB
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
subtask26/6
4Elfogadva1ms512 KiB
5Elfogadva2ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
subtask30/6
9Időlimit túllépés181ms6704 KiB
10Időlimit túllépés182ms6452 KiB
11Időlimit túllépés182ms6884 KiB
12Időlimit túllépés182ms6676 KiB
13Időlimit túllépés178ms6708 KiB
subtask40/10
14Időlimit túllépés181ms6704 KiB
15Időlimit túllépés182ms6452 KiB
16Időlimit túllépés182ms6884 KiB
17Időlimit túllépés182ms6676 KiB
18Időlimit túllépés178ms6708 KiB
19Elfogadva1ms316 KiB
20Elfogadva2ms316 KiB
21Elfogadva8ms576 KiB
22Elfogadva8ms564 KiB
23Elfogadva8ms564 KiB
subtask50/10
24Időlimit túllépés190ms6964 KiB
25Időlimit túllépés189ms6960 KiB
26Időlimit túllépés192ms7220 KiB
27Időlimit túllépés190ms7064 KiB
28Időlimit túllépés177ms6776 KiB
subtask60/10
29Időlimit túllépés188ms6956 KiB
30Időlimit túllépés188ms6968 KiB
31Időlimit túllépés189ms6964 KiB
32Elfogadva1ms316 KiB
33Időlimit túllépés200ms7528 KiB
subtask70/58
34Időlimit túllépés178ms6452 KiB
35Elfogadva1ms508 KiB
36Elfogadva1ms512 KiB
37Elfogadva1ms512 KiB
38Elfogadva2ms316 KiB
39Elfogadva1ms316 KiB
40Elfogadva1ms316 KiB
41Elfogadva1ms316 KiB
42Időlimit túllépés181ms6704 KiB
43Időlimit túllépés182ms6452 KiB
44Időlimit túllépés182ms6884 KiB
45Időlimit túllépés182ms6676 KiB
46Időlimit túllépés178ms6708 KiB
47Elfogadva1ms316 KiB
48Elfogadva2ms316 KiB
49Elfogadva8ms576 KiB
50Elfogadva8ms564 KiB
51Időlimit túllépés177ms6776 KiB
52Időlimit túllépés188ms6956 KiB
53Időlimit túllépés188ms6968 KiB
54Időlimit túllépés189ms6964 KiB
55Elfogadva1ms316 KiB
56Időlimit túllépés200ms7528 KiB
57Elfogadva1ms420 KiB
58Időlimit túllépés200ms7296 KiB
59Időlimit túllépés200ms7432 KiB
60Időlimit túllépés199ms7340 KiB
61Időlimit túllépés175ms6452 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Elfogadva1ms564 KiB
65Elfogadva2ms512 KiB
66Elfogadva3ms316 KiB