Submission #978545

# Submission time Handle Problem Language Result Execution time Memory
978545 2024-05-09T10:21:53 Z vjudge1 Passport (JOI23_passport) C++17
6 / 100
87 ms 18792 KB
#include<bits/stdc++.h>
#define sz size()
#define ll long long
using namespace std;
const ll N = 200200;
const ll INF = 1e18;

void solve()
{
    ll n, Q, i, j, k;
    cin >> n;

    ll l[n + 1], r[n + 1];
    for(i = 1; i <= n; ++i)
        cin >> l[i] >> r[i];

    cin >> Q;
    while(Q--)
    {
        ll start;
        cin >> start;
        ll cl = start, cr = start;

        vector<ll> d(n + 1, INF);
        d[start] = 0;
        multiset<pair<ll, ll>> q;
        q.insert({0, start});
        while(q.sz)
        {
            auto [x, s] = *q.begin();
            q.erase(q.find({x, s}));

            for(ll t = l[s]; t <= min(cl, s); ++t)
            {
                if(d[t] < x + 1) continue;
                q.erase({d[t], t});
                d[t] = x + 1;
                q.insert({d[t], t});
            }
            cl = min(cl, l[s]);
            for(ll t = max(s, cr); t <= r[s]; ++t)
            {
                if(d[t] < x + 1) continue;
                q.erase({d[t], t});
                d[t] = x + 1;
                q.insert({d[t], t});
            }
            cr = max(cr, r[s]);
        }
        ll ans = max(d[1], d[n]);
        cout << (ans < INF ? ans : -1) << '\n';
    }
}

signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    solve();
}

Compilation message

passport.cpp: In function 'void solve()':
passport.cpp:10:17: warning: unused variable 'j' [-Wunused-variable]
   10 |     ll n, Q, i, j, k;
      |                 ^
passport.cpp:10:20: warning: unused variable 'k' [-Wunused-variable]
   10 |     ll n, Q, i, j, k;
      |                    ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 600 KB Output is correct
4 Correct 87 ms 17124 KB Output is correct
5 Correct 42 ms 5084 KB Output is correct
6 Correct 33 ms 7512 KB Output is correct
7 Correct 87 ms 18792 KB Output is correct
8 Correct 41 ms 10636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Incorrect 0 ms 344 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Incorrect 0 ms 344 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Incorrect 0 ms 344 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 600 KB Output is correct
4 Correct 87 ms 17124 KB Output is correct
5 Correct 42 ms 5084 KB Output is correct
6 Correct 33 ms 7512 KB Output is correct
7 Correct 87 ms 18792 KB Output is correct
8 Correct 41 ms 10636 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 1 ms 348 KB Output is correct
14 Correct 1 ms 348 KB Output is correct
15 Incorrect 0 ms 344 KB Output isn't correct
16 Halted 0 ms 0 KB -