Submission #139567

#TimeUsernameProblemLanguageResultExecution timeMemory
139567mechfrog88Zalmoxis (BOI18_zalmoxis)C++14
100 / 100
273 ms59428 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #pragma GCC optimize("unroll-loops,no-stack-protector") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") using namespace __gnu_pbds; using namespace std; template <typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; typedef long long ll; typedef long double ld; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); ll n,k; cin >> n >> k; vector <ll> arr(n); vector <ll> low; ll mini = 30; for (int z=0;z<n;z++){ cin >> arr[z]; } ll c = 0; list <pair<ll,ll>> ans; for (int z=0;z<n;z++){ c += 1 << arr[z]; for (int q=0;q<arr[z];q++){ if (c & (1 << q)){ ans.push_back(make_pair(q,true)); c += 1 << q; k--; } } ans.push_back(make_pair(arr[z],false)); } for (int q=0;q<30;q++){ if (c & (1 << q)){ ans.push_back(make_pair(q,true)); c += 1 << q; k--; } } ll f = 0; for (auto it = ans.begin();it != ans.end();it++){ if (!it->second) continue; bool ok = true; while (k > 0 && it->first > 0){ auto p = it; ok = false; ans.insert(it,make_pair(((it->first)-1),true)); ans.insert(it,make_pair(((it->first)-1),true)); p--; p--; ans.erase(it); k--; it = p; } } for (auto ita = ans.begin();ita != ans.end();ita++){ cout << ita->first << " "; } cout << endl; }

Compilation message (stderr)

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:50:14: warning: variable 'ok' set but not used [-Wunused-but-set-variable]
         bool ok = true;
              ^~
zalmoxis.cpp:23:8: warning: unused variable 'mini' [-Wunused-variable]
     ll mini = 30;
        ^~~~
zalmoxis.cpp:47:8: warning: unused variable 'f' [-Wunused-variable]
     ll f = 0;
        ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...