4842 2023. 03. 31 19:26:57 Ablablabla Kombináció (50) cpp17 Elfogadva 50/50 3ms 3312 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, m;
    cin >> n >> m;
    vector<int> ules(m + 2, 0);
    ules[m + 1] = n;
    for(int i = 1; i <= m; i++){
        cin >> ules[i];
    }

    if(m == 1){
        if(ules[1] - 1 > 0){
            cout << ules[1] - 1 << "\n";
        } else{
            cout << n << "\n";
        }

        if(ules[1] + 1 <= n){
            cout << ules[1] + 1 << "\n";
        } else{
            cout << "1\n";
        }
    } else{
        int valtas = m;
        while(valtas > 0 && ules[valtas] - ules[valtas - 1] <= 1){
            valtas--;
        }

        //cout << valtas << "\n";
        if(valtas == 0){
            // legkisebb eset -> legnagyobbat kell kiirni
            for(int i = 1; i <= m; i++){
                cout << n - m + i << " ";
            }
        } else{
            for(int i = 1; i <= m; i++){
                if(valtas == i){
                    cout << ules[i] - 1 << " ";
                    for(int j = i + 1; j <= m; j++){
                        cout << n - m + j << " ";
                    }
                    break;
                } else{
                    cout << ules[i] << " ";
                }
            }
        }

        cout << "\n";

        if(ules[m + 1] - ules[m] >= 1){
            valtas = m;
        } else{
            valtas = m - 1;
            while(valtas > 0 && ules[valtas + 1] - ules[valtas] <= 1){
                valtas--;
            }
        }

        //cout << valtas << "\n";

        if(valtas == 0){
            // legnagyobb eset -> legkisebbet kell kiirni
            for(int i = 1; i <= m; i++){
                cout << i << " ";
            }
        } else{
            for(int i = 1; i <= m; i++){
                if(valtas == i){
                    cout << ules[i] + 1 << " ";
                    for(int j = ules[i] + 2; i < m; j++){
                        cout << j << " ";
                        i++;
                    }
                } else{
                    cout << ules[i] << " ";
                }
            }
        }

        cout << "\n";
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 3ms 2064 KiB
3 Elfogadva 2/2 3ms 2140 KiB
4 Elfogadva 2/2 3ms 2220 KiB
5 Elfogadva 2/2 2ms 2296 KiB
6 Elfogadva 2/2 3ms 2548 KiB
7 Elfogadva 2/2 2ms 2632 KiB
8 Elfogadva 2/2 3ms 2760 KiB
9 Elfogadva 2/2 2ms 2844 KiB
10 Elfogadva 4/4 2ms 2844 KiB
11 Elfogadva 4/4 3ms 2968 KiB
12 Elfogadva 4/4 2ms 2936 KiB
13 Elfogadva 4/4 3ms 2936 KiB
14 Elfogadva 4/4 3ms 2940 KiB
15 Elfogadva 4/4 3ms 2936 KiB
16 Elfogadva 6/6 3ms 3064 KiB
17 Elfogadva 6/6 3ms 3312 KiB