Submission #60721

#TimeUsernameProblemLanguageResultExecution timeMemory
60721alenam0161Zalmoxis (BOI18_zalmoxis)C++17
0 / 100
355 ms11452 KiB
#include <bits/stdc++.h> void fl(); using namespace std; const int N = 1000000+7; int a[N]; int main(){ int n,k; scanf("%d %d",&n,&k); for(int i=0;i<n;++i){ scanf("%d",a+i); } stack<int> st; st.push(a[0]); vector<int> ans; ans.push_back(a[0]); for(int i=1;i<n;++i){ if(a[i]>=st.top()){ while(a[i]>=st.top()){ int x=st.top(); ans.push_back(x); st.pop(); st.push(x+1); while(st.size()>=2){ int z=st.top(); st.pop(); if(z==st.top()){ st.pop(); st.push(z+1); } else{ st.push(z); break; } } k--; } k++; } else{ ans.push_back(a[i]); st.push(a[i]); } } while(st.size()>1){ int x=st.top(); st.pop(); int y=st.top(); while(x<=y){ ans.push_back(x); x++; k--; } st.pop(); st.push(x); k++; } int z=st.top(); while(k>0){ ans.push_back(z); z++; k--; } for(int i=0;i<ans.size();++i){ printf("%d ",ans[i]); } return 0; } void fl(){ freopen("input.txt","r",stdin); }

Compilation message (stderr)

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:65:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<ans.size();++i){
                 ~^~~~~~~~~~~
zalmoxis.cpp:9:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d",&n,&k);
     ~~~~~^~~~~~~~~~~~~~~
zalmoxis.cpp:11:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",a+i);
         ~~~~~^~~~~~~~~~
zalmoxis.cpp: In function 'void fl()':
zalmoxis.cpp:78:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("input.txt","r",stdin);
     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...