Submission #750058

#TimeUsernameProblemLanguageResultExecution timeMemory
750058vqpahmadZalmoxis (BOI18_zalmoxis)C++14
30 / 100
415 ms88556 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long 
#define ll long long
#define pii pair<int,int>
#define F first
#define S second
#define endl '\n'
#define pb push_back
#define sz(a) (int)a.size()
#define all(a) a.begin(),a.end()
const int mod = 1e9 + 7;
const int N = 1e6 + 15;
const ll inf = 1e18;

int32_t main(){
    ios_base::sync_with_stdio(0);cin.tie(0);
    int n,k;
    cin >> n >> k;
    stack<int> st;
    st.push(100);
    vector<int> a(n);
    map<int,vector<int>> mp;
    for (int i=0;i<n;i++){
        int x;
        cin >> x;
        a[i] = x;
        if (x < st.top()){
            st.push(x);
            continue;
        }
        if (x > st.top()){
            while (x > st.top()){
                int u = st.top();
                mp[i-1].pb(u);
                while (u==st.top()){
                    st.pop();
                    u++;
                }
                st.push(u);
            }
        }
        if (x==st.top()){
            int u = st.top();
            while (u==st.top()){
                st.pop();
                u++;
            }
            st.push(u);
        }
    }
    int x = 30;
    while (x > st.top()){
        int u = st.top();
        mp[n-1].pb(u);
        while (u==st.top()){
            st.pop();
            u++;
        }
        st.push(u);
    }
    for (int i=0;i<n;i++){
        cout << a[i] << ' ';
        for (auto it : mp[i]) cout << it << ' ';
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...