Submission #1108702

#TimeUsernameProblemLanguageResultExecution timeMemory
1108702vicvicZalmoxis (BOI18_zalmoxis)C++11
0 / 100
2 ms4604 KiB
#include <iostream>
#include <fstream>
#include <cassert>
using namespace std;
ifstream f ("zalmoxis.in");
ofstream g ("zalmoxis.out");
int n, k, v[2000005], poz, added[2000005], s[2000005], cnt;
void descp (int j)
{
    if (j<=1)
    {
        g << j << " ";
    }
    else if (k>0)
    {
        k--;
        descp (j-1);
        descp (j-1);
    }
    else g << j << " ";
}
int main()
{
    f >> n >> k;
    int poz=0, adaugate=0;
    for (int i=1; i<=n; i++)
    {
        int x;
        f >> x;
        while (cnt && s[cnt]<x)
        {
            v[++poz]=s[cnt];
            k--;
            int val=v[poz];
            while (cnt && val==s[cnt])
            {
                cnt--;
                val++;
            }
            s[++cnt]=val;
            added[poz]=1;
        }
        v[++poz]=x;
        while (cnt && x==s[cnt])
        {
            cnt--;
            x++;
        }
        s[++cnt]=x;
    }
    while (s[1]<30)
    {
        k--;
        v[++poz]=s[cnt];
        added[poz]=1;
        int val=v[poz];
        while (cnt && s[cnt]==val)
        {
            cnt--;
            val++;
        }
        s[++cnt]=val;
    }
    for (int i=1; i<=poz; i++)
    {
        if (added[poz])
        {
            descp (v[i]);
        }
        else g << v[i] << " ";
    }
    return 0;
}

Compilation message (stderr)

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:25:16: warning: unused variable 'adaugate' [-Wunused-variable]
   25 |     int poz=0, adaugate=0;
      |                ^~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...