157022025-02-21 21:39:33ansKombináció (50)cpp17Hibás válasz 30/501ms508 KiB
#include <bits/stdc++.h>
#include <vector>
using namespace std;

int main(){
    int n, d;
    cin>>n>>d;
    vector<int>c(d+1);
    vector<int>eleje(d);
    vector<int>vege;
    for(int i=1; i<=d; i++) eleje[i-1]=i;
    for(int i=n; i>=(n-d+1); i--) vege.push_back(i);
    for(int i=1; i<=d; i++){
        cin>>c[i];
    }
    int h=d-1;
    int akt=d;
   while(c[akt]-1<=c[h] && akt!=1){
        akt--;
        h--;
    }
    if(akt==1) for(int x : vege) cout<<x<<" ";
    else{
        bool v=false;
        int g=0;
        for(int i=1; i<=d; i++){
            if(i==akt){
                cout<<c[i]-1<<" ";
                v=true;
                g=c[i];
            }
            else if(v){
                if(g<=n) cout<<g<<" ";
                else cout<<n<<" ";
                g++;
            }
            else cout<<c[i]<<" ";
        }
    }
    cout<<endl;
    int akt2=-1;
    for(int i=1; i<d; i++) if(c[i]+1<c[i+1]) akt2=i;
    if(c[d]+1<=n) akt2=d;
    if(akt2!=-1){
        bool v=false;
        int g=0;
        for(int i=1; i<=d; i++){
            if(i==akt2){
                cout<<c[i]+1<<" ";
                v=true;
                g=c[i]+2;
            }
            else if(v){
                if(g<=n) cout<<g<<" ";
                else cout<<n<<" ";
                g++;
            }
            else cout<<c[i]<<" ";
        }
    }
    else{
        for(int x : eleje) cout<<x<<" ";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/50
1Elfogadva0/01ms500 KiB
2Hibás válasz0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Részben helyes1/21ms316 KiB
5Részben helyes1/21ms316 KiB
6Részben helyes1/21ms316 KiB
7Részben helyes1/21ms316 KiB
8Részben helyes1/21ms316 KiB
9Részben helyes1/21ms316 KiB
10Részben helyes2/41ms508 KiB
11Részben helyes2/41ms316 KiB
12Elfogadva4/41ms316 KiB
13Részben helyes2/41ms316 KiB
14Részben helyes2/41ms384 KiB
15Elfogadva4/41ms316 KiB
16Részben helyes3/61ms316 KiB
17Részben helyes3/61ms316 KiB