제출 #890915

#제출 시각아이디문제언어결과실행 시간메모리
890915vjudge1Jail (JOI22_jail)C++17
0 / 100
5012 ms15308 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define ff first #define ss second #define all(a) a.begin(), a.end() const int N = 120000; vector<int> g[N+1]; int n; /* struct Fenwick{ vector<int> fenw; int n; Fenwick(int sz){ n = sz; fenw.resize(n+5, 0); }; void add(int i, int x){ for(; i <= n; i+= i & -i){ fenw[i]+= x; } } int pref(int i){ int s = 0; for(; i > 0; i-= i & -i){ s+= fenw[i]; } return s; } int sum(int l, int r){ return pref(r) - pref(l-1); } }; */ void cl(){ for(int i = 1;i <= n; i++) g[i].clear(); } void solve(){ cin >> n; for(int i = 1;i < n; i++){ int a, b; cin >> a >> b; g[a].push_back(b); g[b].push_back(a); } int q; cin >> q; vector< pair<int, int> > query(q); vector<vector<pair<int, int> > > starts(n+1); for(int i = 0;i < q; i++){ cin >> query[i].ff >> query[i].ss; starts[query[i].ff].push_back({query[i].ss, i}); } for(int i = 0;i < q; i++){ for(int j = 0;j < q; j++){ if(i == j) continue; if(query[i].ff < query[i].ss && query[j].ss < query[j].ff){ if(query[i].ss >= query[j].ss && query[i].ss <= query[j].ff){ cout << "No"; return; } if(query[j].ss >= query[i].ff && query[j].ss <= query[i].ss){ cout << "No"; return; } } } } for(int i = 0;i < q; i++){ for(int j = query[i].ff; j <= query[i].ss; j++){ for(auto [ends, pos] : starts[j]){ if(pos == i) continue; if(ends < query[i].ff){ cout << "No"; return; } if(ends > query[i].ff && ends < query[i].ss){ cout << "No"; return; } } } for(int j = query[i].ff; j >= query[i].ss; j--){ for(auto [ends, pos] : starts[j]){ if(pos == i) continue; if(ends > query[i].ss && ends < query[i].ff){ cout << "No"; return; } if(ends > query[i].ss){ cout << "No"; return; } } } } cout << "Yes"; } signed main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; while(t--){ solve(); cl(); cout << '\n'; } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...