結果
問題 |
No.930 数列圧縮
|
ユーザー |
![]() |
提出日時 | 2020-11-28 09:51:44 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 928 bytes |
コンパイル時間 | 1,006 ms |
コンパイル使用メモリ | 96,976 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-12 22:11:58 |
合計ジャッジ時間 | 5,997 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 2 |
other | AC * 5 WA * 19 |
ソースコード
#include<iostream> #include<stdio.h> #include<stdlib.h> #include<algorithm> #include<vector> #include<string.h> #include<math.h> #include<map> #include<iomanip> #include<queue> using namespace std; using ll = long long; using ull = unsigned long long; const ll inf = 1e9 + 7; int main(){ cin.tie(0); ios::sync_with_stdio(false); //cout << fixed << setprecison(15); int n; cin >> n; vector<int> a(n); for(int i = 0; i < n; i++){ cin >> a[i]; } vector<int> ans; vector<int> s; for(int i = 0; i < n - 1; i++){ if(i == 0){ s.push_back(a[i]); }else{ if(s.back() > a[i]){ s.push_back(a[i]); }else{ ans.push_back(i + 1); } } } for(int i = s.size() - 1; i >= 0; i--){ if(a[n - 1] > s[i]){ ans.push_back(i + 1); }else{ cout << "No" << endl; return 0; } } cout << "Yes" << endl; for(int i = 0; i < ans.size(); i++){ cout << ans[i] << " "; } cout << endl; return 0; }