Submission #431170

#TimeUsernameProblemLanguageResultExecution timeMemory
431170Abdulmohsen1284Zalmoxis (BOI18_zalmoxis)C++14
30 / 100
227 ms47176 KiB
//#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
long long a[2000005];
vector <long long> plc[1000006];
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    long long n,k;
    cin>>n>>k;
    vector < pair <long long, long long> > v;
    vector <long long> ans;
    v.push_back({-1,0});
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        long long cur=a[i],m=a[i];
        bool ad=false;
        //cout<<"bruh"<<endl;
        //if(v.size()>0){
        while(cur==v[v.size()-1].first)
        {
            v.pop_back();
            cur++;
            ad=true;
            m=cur;
            if(v.size()==0)
                break;
        }
            v.push_back({m,i});
    }
    if(v.size()==2)
    {
        for(int i=0;i<n;i++)
        {
            cout<<a[i]<<" ";
        }
        for(int i=0;i<k;i++)
        {
            cout<<v[1].first+i<<" ";
        }
        return 0;
    }
    sort(v.begin(),v.end());
    plc[v[1].second].push_back(v[1].first);

    for(int i=2;i<v.size();i++)
    {
        if(v[i].first>v[i-1].first+1)
        {
            for(int j=v[i-1].first;j<v[i].first;j++)
            {
                plc[v[i-1].second].push_back(j);
            }
        }
    }
    for(int i=0;i<n;i++)
    {
        ans.push_back(a[i]);
        for(int j=0;j<plc[i].size();j++)
            ans.push_back(plc[i][j]);
    }
    long long ma=0;

    for(int i=0;i<v.size();i++)
    {
        ma=max(ma,v[i].first);
    }
    for(int i=0;i<ans.size();i++)
    {
        cout<<ans[i]<<" ";
    }
    for(int i=0;i<(n+k)-ans.size();i++)
    {
        cout<<ma+i+1<<" ";
    }
    return 0;
}

Compilation message (stderr)

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:20:14: warning: variable 'ad' set but not used [-Wunused-but-set-variable]
   20 |         bool ad=false;
      |              ^~
zalmoxis.cpp:49:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |     for(int i=2;i<v.size();i++)
      |                 ~^~~~~~~~~
zalmoxis.cpp:62:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |         for(int j=0;j<plc[i].size();j++)
      |                     ~^~~~~~~~~~~~~~
zalmoxis.cpp:67:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |     for(int i=0;i<v.size();i++)
      |                 ~^~~~~~~~~
zalmoxis.cpp:71:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |     for(int i=0;i<ans.size();i++)
      |                 ~^~~~~~~~~~~
zalmoxis.cpp:75:18: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
   75 |     for(int i=0;i<(n+k)-ans.size();i++)
      |                 ~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...