Submission #668176

#TimeUsernameProblemLanguageResultExecution timeMemory
668176MrDebooZalmoxis (BOI18_zalmoxis)C++17
35 / 100
150 ms19112 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define int long long #define endl '\n' using namespace std; using namespace __gnu_pbds; using ordered_set = tree<int,null_type,less_equal<int>,rb_tree_tag,tree_order_statistics_node_update>; signed main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n,k; cin>>n>>k; deque<int>a,b(n); for(auto &i:b)cin>>i; deque<int>doq=b; deque<int>dq={b[0]}; a.push_back(b[0]); b.pop_front(); while(b.size()){ if(b[0]<=a.back()){ a.push_back(b[0]); dq.push_back(b[0]); b.pop_front(); }else{ k--; a.push_back(a.back()); dq.push_back(a.back()); } while(a.size()>1&&a.back()==a[a.size()-2]){ int A=a.back(); a.pop_back(); a.pop_back(); a.push_back(A+1); } } while(a.size()>1){ a.push_back(a.back()); dq.push_back(a.back()); k--; while(a.size()>1&&a.back()==a[a.size()-2]){ int A=a.back(); a.pop_back(); a.pop_back(); a.push_back(A+1); } } int g=a.back(); while(k--){ dq.push_back(g++); } int f=0; for(int i=0;i<dq.size();i++){ if(f<doq.size()&&doq[f]==dq[i])f++; } assert(f==doq.size()); for(auto &i:dq)cout<<i<<' '; }

Compilation message (stderr)

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:52:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::deque<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |     for(int i=0;i<dq.size();i++){
      |                 ~^~~~~~~~~~
zalmoxis.cpp:53:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::deque<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         if(f<doq.size()&&doq[f]==dq[i])f++;
      |            ~^~~~~~~~~~~
In file included from /usr/include/c++/10/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp:45,
                 from /usr/include/c++/10/ext/pb_ds/detail/container_base_dispatch.hpp:90,
                 from /usr/include/c++/10/ext/pb_ds/assoc_container.hpp:48,
                 from zalmoxis.cpp:2:
zalmoxis.cpp:55:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::deque<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |     assert(f==doq.size());
      |            ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...