結果

問題 No.3072 Speedrun Query
ユーザー 👑 AngrySadEight
提出日時 2025-03-13 00:33:30
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,617 bytes
コンパイル時間 801 ms
コンパイル使用メモリ 76,512 KB
実行使用メモリ 7,936 KB
最終ジャッジ日時 2025-03-13 00:33:36
合計ジャッジ時間 6,429 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 1
other AC * 2 WA * 19
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
const int INF = 1000000001;
int nearest(int x, vector<int> &vec) {
auto itr = lower_bound(vec.begin(), vec.end(), x);
int idx = itr - vec.begin();
int ret = vec[idx] - x;
idx--;
ret = min(ret, x - vec[idx]);
return ret;
}
int main() {
ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int N, KA, KB;
cin >> N >> KA >> KB;
vector<int> a(KA + 2);
vector<int> b(KB + 2);
a[0] = -INF;
b[0] = -INF;
for (int i = 0; i < KA; i++) {
cin >> a[i + 1];
}
for (int i = 0; i < KB; i++) {
cin >> b[i + 1];
}
a[KA + 1] = INF;
b[KB + 1] = INF;
int Q;
cin >> Q;
vector<int> s(Q);
vector<int> t(Q);
for (int i = 0; i < Q; i++) {
cin >> s[i] >> t[i];
}
int dis_ab = N;
for (int i = 1; i <= KA; i++) {
dis_ab = min(dis_ab, nearest(a[i], b));
}
for (int i = 0; i < Q; i++) {
int ans = N;
//
ans = min(ans, t[i] - s[i]);
// A
// ans = min(ans, nearest(s[i], a) + nearest(t[i], a));
// B
ans = min(ans, nearest(s[i], b) + nearest(t[i], b));
// A -> B
ans = min(ans, nearest(s[i], a) + dis_ab + nearest(t[i], b));
// B -> A
ans = min(ans, nearest(s[i], b) + dis_ab + nearest(t[i], a));
cout << ans << "\n";
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0