結果
問題 |
No.930 数列圧縮
|
ユーザー |
|
提出日時 | 2019-11-22 23:12:12 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 928 bytes |
コンパイル時間 | 802 ms |
コンパイル使用メモリ | 78,840 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-11 04:47:35 |
合計ジャッジ時間 | 3,406 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 WA * 3 |
ソースコード
#include<iostream> #include<stack> #include<vector> using namespace std; int main(){ int n; cin >> n; vector<int> v(n); for(int i = 0; i < n; i++) cin >> v[i]; vector<bool> used(n, 0); stack<int> s; int pos = n-1, val = 1; vector<int> ret; while(val != n){ if(used[val-1]){ val++; continue; } while(v[pos] != val){ s.push(v[pos]); used[v[pos--]-1] = true; } used[v[pos]-1] = true; if(s.empty()){ cout << "No" << endl; return 0; } while(s.size() != 1){ ret.push_back(s.top()); s.pop(); } ret.push_back(v[pos--]); val++; } if(ret.size() != n-1){ cout << "No" << endl; }else{ cout << "Yes" << endl; for(int i = 0; i < n-1; i++) cout << ret[i] << " \n"[i==n-2]; } return 0; }