結果
問題 | No.1373 Directed Operations |
ユーザー |
|
提出日時 | 2021-02-05 21:51:58 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 263 ms / 2,000 ms |
コード長 | 640 bytes |
コンパイル時間 | 2,117 ms |
コンパイル使用メモリ | 210,308 KB |
最終ジャッジ日時 | 2025-01-18 12:15:27 |
ジャッジサーバーID (参考情報) |
judge3 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 19 |
ソースコード
#include<bits/stdc++.h> //#include<atcoder/all> //using namespace atcoder; using namespace std; using ll = long long; int main(){ int n; cin >> n; vector<pair<int,int>> vpii(n-1); for(int i = 0;i<n-1;i++)cin >> vpii[i].first ,vpii[i].second=i; sort(vpii.begin(),vpii.end()); for(int i = 0;i<n-1;i++){ if(vpii[i].first>i+1){ cout<<"NO"<<endl; return 0; } } map<pair<int,int>,int> ans; for(int i = 0;i<n-1;i++){ ans[vpii[i]] = (i+2)-(vpii[i].first); } sort(vpii.begin(),vpii.end(),[](auto a,auto b){ return a.second<b.second; }); cout<<"YES"<<endl; for(int i = 0;i<n-1;i++){ cout<<ans[vpii[i]]<<endl; } }