20482022-12-15 22:20:03kovacs.peter.18fKombináció (50)cpp11Futási hiba 34/503ms3544 KiB
#include <iostream>
#include <vector>

using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(nullptr);

    int N, M;
    cin >> N >> M;
    vector<int> chairS(M);
    for (auto &e : chairS) {
        cin >> e;
    }
    // előző: csökkentjük a legutolsót, amit nem előz meg nála eggyel kisebb szám; a továbbiak a lehetséges értékek legvége lesznek
    int index = M - 1;
    while (index > 0 && chairS[index] == chairS[index - 1] + 1) {
        --index;
    }
    for (int i = 0; i < index; i++) {
        cout << chairS[i] << " ";
    }
    cout << chairS[index] - 1 << " ";
    for (int i = index + 1; i < M; i++) {
        cout << N - (M - i - 1) << " ";
    }
    cout << '\n';
    // következő: növeljük a legutolsót, amit még növelhetünk; a továbbiak közvetlenül utána következnek
    index = M - 1;
    while (chairS[index] == N - (M - 1 - index)) {
        --index;
    }
    for (int i = 0; i < index; i++) {
        cout << chairS[i] << " ";
    }
    cout << ++chairS[index] << " ";
    for (int i = index + 1; i < M; i++) {
        chairS[i] = chairS[i - 1] + 1;
        cout << chairS[i] << " ";
    }
    cout << '\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base34/50
1Elfogadva0/03ms1824 KiB
2Elfogadva0/02ms2024 KiB
3Futási hiba0/22ms2352 KiB
4Elfogadva2/22ms2464 KiB
5Részben helyes1/22ms2668 KiB
6Futási hiba0/22ms2984 KiB
7Elfogadva2/22ms2988 KiB
8Futási hiba0/22ms3212 KiB
9Részben helyes1/22ms3060 KiB
10Futási hiba0/42ms3060 KiB
11Elfogadva4/42ms3176 KiB
12Elfogadva4/42ms3388 KiB
13Elfogadva4/42ms3352 KiB
14Futási hiba0/42ms3356 KiB
15Elfogadva4/42ms3320 KiB
16Elfogadva6/62ms3344 KiB
17Elfogadva6/62ms3544 KiB