Submission #568557

#TimeUsernameProblemLanguageResultExecution timeMemory
568557uroskZalmoxis (BOI18_zalmoxis)C++14
0 / 100
1096 ms52472 KiB
// __builtin_popcount(x) // __builtin_popcountll(x) #define here cerr<<"===========================================\n" #include <bits/stdc++.h> #define ld double #define ll long long #define ull unsigned long long #define llinf 100000000000000000LL // 10^17 #define iinf 2000000000 // 2*10^9 #define pb push_back #define popb pop_back #define fi first #define sc second #define endl '\n' #define pii pair<int,int> #define pll pair<ll,ll> #define pld pair<ld,ld> #define sz(a) int(a.size()) #define all(a) a.begin(),a.end() #define ceri(a,l,r) {for(ll i_ = l;i_<=r;i_++) cerr<<a[i_]<< " ";cerr<<endl;} using namespace std; #define maxn 1000005 ll n,k; vector<ll> v; ll a[maxn]; int main(){ ios_base::sync_with_stdio(false);cerr.tie(0);cout.tie(0);cin.tie(0); cin >> n >> k; bool bio = 0; ll last = -1; ll e = -1; for(ll i = 1;i<=n;i++){ cin >> a[i]; ll x = a[i]; if(v.empty()||(sz(v)&&v.back()!=x)) v.pb(x); else{ while(sz(v)&&x==v.back()){ v.popb(); v.pb(x+1); last = i; e = x+1; bio = 1; } } } if(bio){ while(1) here; for(ll i = 1;i<=n;i++){ cout<<a[i]<< " "; if(last==i){ cout<<e<< " "; } } cout<<endl; }else{ ll mn = llinf; for(ll i = 1;i<=n;i++) mn = min(mn,a[i]); for(ll i = 1;i<=n;i++){ cout<<a[i]<< " "; if(a[i]==mn&&k>0){ cout<<mn<< " "; k--; } } cout<<endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...