186622025-10-29 20:15:28KristófKombináció (50)cpp17Részben helyes 43/502ms508 KiB
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int n,m;
    cin>>n>>m;
    vector<int> most(m+1);
    vector<int> elso(m+1);
    vector<int> utso(m+1);
    for(int i=1;i<=m;i++)
        {
        elso[i]=i;
        cin>>most[i];
        utso[m-i+1]=n-i+1;
        }
    if(most==utso)
        {
        for(int i=1;i<=m;i++)
            {
            most[i]--;
            cout<<most[i]<<" ";
            }
        cout<<endl;
        for(int i=1;i<=m;i++)
            {

            cout<<elso[i]<<" ";
            }
        return 0;
        }
    if(most==elso)
        {
        for(int i=1;i<=m;i++)
            {

            cout<<utso[i]<<" ";
            }
        cout<<endl;
        most[m]++;
        for(int i=1;i<=m;i++)
            {

            cout<<most[i]<<" ";
            }
        return 0;
        }
    vector<int> elozo=most;
    for(int i=m;i>0;i--)
        {
        if(most[i]-1>most[i-1] || i==1)
            {
            elozo[i]--;
            for(int j=i+1;j<=m;j++)
                {
                elozo[j]=utso[j];
                }
            for(int i=1;i<=m;i++)
                {
                cout<<elozo[i]<<" ";
                }
            break;
            }
        }
    cout<<endl;
    elozo=most;
    elozo.push_back(n+1);
    for(int i=m;i>0;i--)
        {
        if(most[i]+1<elozo[i+1])
            {
            elozo[i]++;
            for(int j=i+1;j<=m;j++)
                {
                elozo[j]=elozo[j-1]+1;
                }
            for(int i=1;i<=m;i++)
                {
                cout<<elozo[i]<<" ";
                }
            break;
            }
        }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base43/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/01ms316 KiB
3Részben helyes1/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Részben helyes1/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Részben helyes1/21ms508 KiB
9Elfogadva2/21ms508 KiB
10Részben helyes2/41ms316 KiB
11Elfogadva4/41ms316 KiB
12Elfogadva4/41ms316 KiB
13Elfogadva4/41ms316 KiB
14Részben helyes2/41ms316 KiB
15Elfogadva4/41ms316 KiB
16Elfogadva6/61ms316 KiB
17Elfogadva6/62ms316 KiB