109322024-04-20 14:48:20k_balintÖsszegzésekcpp17Accepted 100/10014ms4312 KiB
#include <bits/stdc++.h>
using namespace std;
const int c=2e5+5;

int n;
int arr[c];

void nxt(){
    if(n==1){
        cout << 0 << endl;
        return;
    }
    int sum=arr[n];
    for(int i=n-1;i>0;i--){
        if(arr[i] == arr[i-1]) {
            sum+=arr[i];
            continue;
        }
        sum--;
        for(int j=1;j<i;j++) cout << arr[j] << ' ';
        cout << arr[i]+1 << ' ';
        while(sum>0) --sum, cout << 1 << ' ';
        break;
    }
    cout << endl;
}

void prv(){
    int p=n;
    while(p>0 && arr[p]==1) --p;
    if(p==0){
        cout << 0 << endl;
        return;
    }
    int sum=n-p+1;
    --arr[p];
    for(int i=1;i<=p;i++){
        cout << arr[i] << ' ';
    }
    while(sum>0){
        cout << min(sum,arr[p]) << ' ';
        sum-=arr[p];
    }
    cout << endl;
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin>>n;
    for(int i=1;i<=n;i++) cin>>arr[i];

    nxt();
    prv();
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms1904 KiB
2Accepted3ms2092 KiB
3Accepted3ms2308 KiB
subtask26/6
4Accepted3ms2388 KiB
5Accepted3ms2524 KiB
6Accepted3ms2728 KiB
7Accepted3ms2832 KiB
8Accepted3ms2920 KiB
subtask36/6
9Accepted3ms3136 KiB
10Accepted3ms3216 KiB
11Accepted3ms3224 KiB
12Accepted4ms3180 KiB
13Accepted4ms3184 KiB
subtask410/10
14Accepted3ms3136 KiB
15Accepted3ms3216 KiB
16Accepted3ms3224 KiB
17Accepted4ms3180 KiB
18Accepted4ms3184 KiB
19Accepted3ms3260 KiB
20Accepted3ms3612 KiB
21Accepted13ms3696 KiB
22Accepted14ms3832 KiB
23Accepted12ms3812 KiB
subtask510/10
24Accepted3ms3756 KiB
25Accepted3ms3836 KiB
26Accepted3ms3832 KiB
27Accepted3ms3836 KiB
28Accepted3ms3868 KiB
subtask610/10
29Accepted3ms4008 KiB
30Accepted3ms3776 KiB
31Accepted3ms3928 KiB
32Accepted2ms3780 KiB
33Accepted3ms3780 KiB
subtask758/58
34Accepted3ms3776 KiB
35Accepted3ms3776 KiB
36Accepted3ms3932 KiB
37Accepted3ms2388 KiB
38Accepted3ms2524 KiB
39Accepted3ms2728 KiB
40Accepted3ms2832 KiB
41Accepted3ms2920 KiB
42Accepted3ms3136 KiB
43Accepted3ms3216 KiB
44Accepted3ms3224 KiB
45Accepted4ms3180 KiB
46Accepted4ms3184 KiB
47Accepted3ms3260 KiB
48Accepted3ms3612 KiB
49Accepted13ms3696 KiB
50Accepted14ms3832 KiB
51Accepted3ms3868 KiB
52Accepted3ms4008 KiB
53Accepted3ms3776 KiB
54Accepted3ms3928 KiB
55Accepted2ms3780 KiB
56Accepted3ms3780 KiB
57Accepted3ms3784 KiB
58Accepted3ms3996 KiB
59Accepted3ms3992 KiB
60Accepted3ms4232 KiB
61Accepted3ms4104 KiB
62Accepted3ms4132 KiB
63Accepted3ms4100 KiB
64Accepted3ms4124 KiB
65Accepted4ms4028 KiB
66Accepted4ms4312 KiB