# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
898106 | vjudge1 | Passport (JOI23_passport) | C++17 | 0 ms | 348 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma GCC optimize("unroll-loops")
#pragma gcc optimize("Ofast")
#pragma GCC optimization("Ofast")
#pragma optimize(Ofast)
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define str string
#define fastio ios::sync_with_stdio(0), cin.tie(0);
#define fs first
#define ss second
#define endl '\n'
#define all(x) (x).begin(), (x).end()
#define len(x) x.size()
#define print(a) \
for (auto &x : a) \
cout << x << " "; \
cout << endl;
#define printmp(a) \
for (auto &x : a) \
cout << x.fs << " " << x.ss << endl;
const int mod = 998244353;
void solve(){
int n;
cin >> n;
vector<pair<int, int>> a(n);
for(int i = 0; i < n; i ++)
cin >> a[i].fs >> a[i].ss, a[i].fs --, a[i].ss --;
int q;
cin >> q;
for(int i = 0; i < q; i ++){
int x;
cin >> x;
vector<int> k(n, 1e9);
k[x - 1] = 0;
int l = x - 1, r = x - 1;
while(l >= 0 or r < n){
if(r == n or (l >= 0 and k[l] <= k[r])){
for(int j = a[l].fs; j <= a[l].ss; j ++)
k[j] = k[l] + 1;
l --;
}
else{
for(int j = a[r].fs; j <= a[r].ss; j ++)
k[j] = k[r] + 1;
r ++;
}
}
if(l == 0 and r == n)
cout << *max_element(all(k)) << endl;
else
cout << -1 << endl;
}
}
signed main()
{
fastio int t = 1;
// cin >> t;
while (t--)
{
solve();
cout << endl;
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |