답안 #978544

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
978544 2024-05-09T10:21:04 Z vjudge1 Passport (JOI23_passport) C++17
0 / 100
86 ms 17056 KB
#include<bits/stdc++.h>
#define sz size()
#define ll long long
using namespace std;
const ll N = 3000;
const ll INF = N;

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;
      |                    ^
# 결과 실행 시간 메모리 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 86 ms 17056 KB Output is correct
5 Incorrect 28 ms 5084 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 600 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 600 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 600 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 86 ms 17056 KB Output is correct
5 Incorrect 28 ms 5084 KB Output isn't correct
6 Halted 0 ms 0 KB -