제출 #750479

#제출 시각아이디문제언어결과실행 시간메모리
750479MuntherCarrotZalmoxis (BOI18_zalmoxis)C++14
100 / 100
138 ms10624 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long // #define int long long #define endl '\n' #define all(x) x.begin(),x.end() const ll MOD = 1e9 + 7, SZ = 1e5 + 10, INF = 1e18; int n, k, sz; void solve(int x){ if(sz == n + k || x == 0){ cout << x << ' '; return; } sz++; solve(x - 1); solve(x - 1); } vector<int> vec, s, ans; int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> k; int arr[n]; for(int &i : arr) cin >> i; //--// int idx = 1; s.push_back(arr[0]); ans.push_back(arr[0]); while(s.back() != 30){ if(idx == n){ ans.push_back(s.back()); vec.push_back(ans.size() - 1); s.push_back(s.back()); while(s.size() > 1 && (s[s.size() - 1] == s[s.size() - 2])){ s.pop_back(); s.back()++; } continue; } if(arr[idx] > s.back()){ ans.push_back(s.back()); vec.push_back(ans.size() - 1); s.push_back(s.back()); } else{ ans.push_back(arr[idx]); s.push_back(arr[idx]); idx++; } while(s.size() > 1 && (s[s.size() - 1] == s[s.size() - 2])){ s.pop_back(); s.back()++; } } reverse(all(vec)); sz = ans.size(); for(int i=0;i<ans.size();i++){ if(vec.size() && vec.back() == i){ vec.pop_back(); solve(ans[i]); } else cout << ans[i] << ' '; } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

zalmoxis.cpp: In function 'int32_t main()':
zalmoxis.cpp:59:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |     for(int i=0;i<ans.size();i++){
      |                 ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...