結果
問題 | No.610 区間賞(Section Award) |
ユーザー | ミドリムシ |
提出日時 | 2017-12-10 00:14:34 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 193 ms / 2,000 ms |
コード長 | 823 bytes |
コンパイル時間 | 734 ms |
コンパイル使用メモリ | 76,080 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-30 05:47:54 |
合計ジャッジ時間 | 3,972 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
#include <iostream> #include <algorithm> #include <vector> using namespace std; int main(){ int N; cin >> N; int start_ranking[N]; for(int i = 0; i < N; i++){ cin >> start_ranking[i]; } int goal_ranking[N]; int player_goal_rank[N]; for(int i = 0; i < N; i++){ cin >> goal_ranking[i]; player_goal_rank[goal_ranking[i] - 1] = i; } vector<int> answers; int goal_fastest_rank = N; for(int i = N - 1; i >= 0; i--){ if(goal_fastest_rank > player_goal_rank[start_ranking[i] - 1]){ answers.push_back(start_ranking[i]); goal_fastest_rank = player_goal_rank[start_ranking[i] - 1]; } } sort(answers.begin(), answers.end()); for(int i = 0; i < answers.size(); i++){ cout << answers[i] << endl; } }