제출 #209833

#제출 시각아이디문제언어결과실행 시간메모리
209833nicolaalexandraZalmoxis (BOI18_zalmoxis)C++14
30 / 100
333 ms6404 KiB
#include <bits/stdc++.h>
#define DIM 1000010
using namespace std;
int v[DIM];
int n,i,poz,sol,k,sol_poz;

int solve (int val, int idx){

    if (v[idx] == val) /// nu mai pot sa ma duc in stanga ca am deja valoarea
        return idx + 1;

    if (!val)
        return 0;

    /// stanga
    val--;
    int poz = solve (val,idx);

    if (poz > n || v[poz] > val){
        /// sunt obligata sa pun aici val
        sol = val;
        sol_poz = poz-1;

        return poz;
    }

    /// dreapta
    return solve (val,poz);
}

int main (){

    //ifstream cin ("zalmoxis.in");
  //  ofstream cout ("zalmoxis.out");

    cin>>n>>k;
    for (i=1;i<=n;i++)
        cin>>v[i];

    //idx = 1;
    solve (30,1);

    for (i=1;i<=n;i++){
        cout<<v[i]<<" ";
        if (i == sol_poz)
            cout<<sol<<" ";
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...