135182025-01-08 09:19:00AGergoKombináció (50)cpp17Hibás válasz 34/501ms500 KiB
#include <bits/stdc++.h>

using namespace std;
int maxnum, len;
vector<int> order;
vector<int> orderADD;
vector<int> orderSUB;

void Add(int n)
{
    if(n == -1)
    {
        cout << "-1";
        return;
    }
    if(orderADD[n]==maxnum-len+n+1)
    {

        Add(n-1);
    }
    else
    {
        ++orderADD[n];
        for(int i = n+1; i < len;++i)
        {
            orderADD[i] = orderADD[n]+i-n;
        }
    }
}
void Sub(int n)
{
    if(n == -1)
    {
        cout << "-1";
        return;
    }
    if(orderSUB[n-1] == orderSUB[n]-1)
    {
        Sub(n-1);
    }
    else
    {
        --orderSUB[n];
    }
}

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

    cin >> maxnum >> len;

    order.resize(len);
    for(int i = 0; i <len;++i)
    {
        cin >> order[i];
    }

    orderADD = order;
    orderSUB = order;

    Add(len-1);
    Sub(len-1);

    for(int x: orderSUB)
    {
        cout << x << " ";
    }
    cout << endl;
    for(int x: orderADD)
    {
        cout << x << " ";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base34/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/01ms316 KiB
3Részben helyes1/21ms316 KiB
4Elfogadva2/21ms500 KiB
5Részben helyes1/21ms420 KiB
6Hibás válasz0/21ms316 KiB
7Részben helyes1/21ms420 KiB
8Részben helyes1/21ms316 KiB
9Részben helyes1/21ms316 KiB
10Hibás válasz0/41ms316 KiB
11Elfogadva4/41ms316 KiB
12Elfogadva4/41ms316 KiB
13Elfogadva4/41ms316 KiB
14Részben helyes2/41ms424 KiB
15Elfogadva4/41ms316 KiB
16Elfogadva6/61ms316 KiB
17Részben helyes3/61ms316 KiB