Submission #844784

#TimeUsernameProblemLanguageResultExecution timeMemory
844784QuadrilateralPassport (JOI23_passport)C++14
6 / 100
25 ms5200 KiB
#include <iostream> #include <fstream> #include <vector> #include <algorithm> #define MAXN 202020 using namespace std; int N; struct pass { int L, R; }; vector<pass> passport; int Q, ans[MAXN]; int queries[MAXN]; void fastIO() { ios_base::sync_with_stdio(0); cin.tie(0); } void input() { cin >> N; passport.resize(N + 1); for (int i = 1; i <= N; i++) cin >> passport[i].L >> passport[i].R; cin >> Q; for (int i = 1; i <= Q; i++) cin >> queries[i]; } void init() { for (int i = 1; i <= N; i++) ans[i] = -1; } void solve() { init(); int tmp = 1, destinR = passport[1].R, maxR = passport[1].R; for (int i = 2; i < N; i++) { maxR = max(maxR, passport[i].R); if (i == destinR) { tmp++; destinR = maxR; if (destinR == i) { tmp = -1; break; } } } if (destinR != N && maxR != N) tmp = -1; else if (destinR != N) tmp++; ans[1] = tmp; } void output() { for (int i = 1; i <= Q; i++) cout << ans[queries[i]] << '\n'; } int main() { fastIO(); input(); solve(); output(); return 0; }
#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...