86092024-01-23 10:21:02BenedekMartonKombináció (50)cpp17Részben helyes 43/503ms4048 KiB
#include <iostream>

using namespace std;

int main()
{
    int n, m;
    cin >> n >> m;
    int a[m], x=-1, k;
    for(int i=0; i<m; i++)
    {
        cin >> a[i];
    }
    if(a[0]==n-m+1)
    {
        a[0]=max(n-m, 1);
        for(int i=0; i<m; i++)
        {
            cout << a[i] << " ";
        }
        cout << endl;
        for(int i=1; i<=m; i++)
        {
            cout << i << " ";
        }
    }
    else if(a[m-1]==m)
    {
        for(int i=n-m+1; i<=n; i++)
        {
            cout << i << " ";
        }
        cout << endl;
        a[m-1]=min(m+1, n);
        for(int i=0; i<m; i++)
        {
            cout << a[i] << " ";
        }
    }
    else
    {
        for(int i=m-1; i>=0 and x==-1; i--)
        {
            if(a[i]-a[i-1]>1)
            {
                x=i;
            }
        }
        for(int i=0; i<m; i++)
        {
            if(i<x)
            {
                cout << a[i] << " ";
            }
            else if(i==x)
            {
                k=a[i]-1;
                cout << k << " ";
            }
            else
            {
                k=n-(m-i)+1;
                cout << k << " ";
            }
        }
        cout << endl;
        x=-1;
        for(int i=m-1; i>=0 and x==-1; i--)
        {
            if((a[i]!=n and i==m-1) or a[i+1]-a[i]>1)
            {
                x=i;
            }
        }
        for(int i=0; i<m; i++)
        {
            if(x>i)
            {
                cout << a[i] << " ";
            }
            else if(x==i)
            {
                cout << a[i]+1 << " ";
                k=a[i]+1;
            }
            else
            {
                k++;
                cout << k << " ";
            }
        }
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base43/50
1Elfogadva0/03ms1880 KiB
2Elfogadva0/03ms2264 KiB
3Elfogadva2/23ms2400 KiB
4Elfogadva2/23ms2608 KiB
5Elfogadva2/23ms2704 KiB
6Elfogadva2/23ms2860 KiB
7Elfogadva2/23ms3088 KiB
8Elfogadva2/23ms3236 KiB
9Elfogadva2/23ms3480 KiB
10Elfogadva4/43ms3588 KiB
11Részben helyes2/42ms3640 KiB
12Részben helyes2/43ms3772 KiB
13Elfogadva4/43ms3876 KiB
14Elfogadva4/43ms3772 KiB
15Elfogadva4/43ms3832 KiB
16Részben helyes3/63ms3960 KiB
17Elfogadva6/63ms4048 KiB