Submission #826960

#TimeUsernameProblemLanguageResultExecution timeMemory
826960t6twotwoPassport (JOI23_passport)C++17
16 / 100
25 ms1996 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; vector<int> L(N), R(N); for (int i = 0; i < N; i++) { cin >> L[i] >> R[i]; L[i]--; } int Q, X; cin >> Q >> X; X--; if (N <= 300) { vector<int> dp(N); iota(dp.begin(), dp.end(), 0); dp[X] = X + 1; for (int ans = 1; ; ans++) { auto pd = dp; iota(dp.begin(), dp.end(), 0); for (int i = 0; i < N; i++) { for (int j = i; j < pd[i]; j++) { dp[min(i, L[j])] = max({dp[min(i, L[j])], pd[i], R[j]}); } } if (dp[0] == N) { cout << ans << "\n"; return 0; } if (dp == pd) { break; } } cout << -1 << "\n"; return 0; } int ans = 0; for (int f = R[0]; X < N - 1;) { if (X == f) { ans = -1; break; } ans++; for (int i = f - X; i; i--) { f = max(f, R[++X]); } } cout << ans << "\n"; return 6/22; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...