結果
問題 |
No.610 区間賞(Section Award)
|
ユーザー |
![]() |
提出日時 | 2018-06-05 17:27:08 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 193 ms / 2,000 ms |
コード長 | 593 bytes |
コンパイル時間 | 1,371 ms |
コンパイル使用メモリ | 164,424 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-30 09:57:43 |
合計ジャッジ時間 | 5,683 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
#include <bits/stdc++.h> using namespace std; using i64 = long long; #define rep(i,s,e) for(int (i) = (s);(i) <= (e);(i)++) int N; vector<int> A,B; int main(){ cin >> N; A.resize(N); B.resize(N); for(auto & x : A) cin >> x; for(auto & x : B) cin >> x; vector<int> p(N + 1); for(int i = 0;i < N;i++) p[A[i]] = i; vector<int> ans; int limit = -1; for(int i = 0;i < N;i++){ int before = p[B[i]]; if(before >= limit){ ans.push_back(B[i]); limit = before; } } sort(ans.begin(),ans.end()); for(int i : ans){ cout << i << endl; } return 0; }