93882024-02-21 11:51:04Vkrisztian01Kombináció (50)cpp17Részben helyes 40/503ms3668 KiB
#include <iostream>
#include<vector>
#include<algorithm>

using namespace std;

int n,m;
vector<int>nums;
vector<int>seged;

int main()
{
    cin>>n>>m;
    nums.resize(m);
    for(int i=0;i<m;i++) cin>>nums[i];
    if(m==1)
    {
        if(nums[0]==1) cout<<n<<endl<<2;
        if(nums[0]==n) cout<<n-1<<endl<<1;
        if(nums[0]<n && 1<nums[0]) cout<<nums[0]-1<<endl<<nums[0]+1;
        return 0;
    }

  /*  if(nums[0]==n-m+1)
    {
        --nums[0];
        for(auto x:nums) cout<<x<<" ";
        cout<<endl;
        for(int i=1;i<=m;i++) cout<<i<<" ";
        return 0;
    }*/

    if(nums[m-1]==m)
    {
        for(int i=m;i>=1;i--) cout<<n-i+1<<" ";
        cout<<endl;
        ++nums[m-1];
        for(auto x:nums) cout<<x<<" ";
        return 0;
    }
    for(int i=m-1;i>=0;i--)
    {
        if(i!=0 && nums[i-1]==nums[i]-1) continue;
        for(int j=0;j<i;j++) cout<<nums[j]<<" ";
        cout<<nums[i]-1<<" ";
        for(int j=m-i-1;j>=1;j--) cout<<n-j+1<<" ";
        cout<<endl;
        break;
    }
    for(int i=m-1;i>=0;i--)
    {
        if(nums[i]==n -(m-i-1)) continue;
        for(int j=0;j<i;j++) cout<<nums[j]<<" ";
        for(int j=1;i+j<=m;j++) cout<<nums[i]+j<<" ";
        break;

    }


    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/50
1Elfogadva0/03ms1748 KiB
2Elfogadva0/03ms1916 KiB
3Részben helyes1/23ms2152 KiB
4Elfogadva2/23ms2508 KiB
5Elfogadva2/23ms2448 KiB
6Hibás válasz0/23ms2644 KiB
7Elfogadva2/23ms2856 KiB
8Részben helyes1/23ms3068 KiB
9Elfogadva2/23ms3288 KiB
10Hibás válasz0/42ms3368 KiB
11Elfogadva4/42ms3364 KiB
12Elfogadva4/42ms3364 KiB
13Elfogadva4/43ms3496 KiB
14Részben helyes2/43ms3580 KiB
15Elfogadva4/42ms3668 KiB
16Elfogadva6/62ms3556 KiB
17Elfogadva6/63ms3548 KiB