제출 #889587

#제출 시각아이디문제언어결과실행 시간메모리
889587vjudge1Tourism (JOI23_tourism)C++17
10 / 100
5050 ms22704 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #pragma GCC target("avx,avx2,fma") #pragma GCC optimize("Ofast,unroll-loops") #define pii pair<int,int> using namespace __gnu_pbds; using namespace std; #define pb push_back #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define int long long #define f first #define s second #define pii pair<int,int> template<class T>bool umax(T &a,T b){if(a<b){a=b;return true;}return false;} template<class T>bool umin(T &a,T b){if(b<a){a=b;return true;}return false;} typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; const int mod= 1e9 +7; const int N=1e5*4; int binpow (int a, int n) { if (n == 0) return 1; if (n % 2 == 1) return binpow (a, n-1) * a; else { int b = binpow (a, n/2); return b * b; } } vector<int>vis(N+1),vis1(N+1); vector<int>v[N]; void solve(){ int n,q,m,k; cin>>n>>m>>q; for(int i = 1;i<n;i++){ int a,b; cin>>a>>b; v[a].pb(b); v[b].pb(a); } for(int i = 1;i<=m;i++){ int a; cin>>a; vis[i] = a; vis1[a] = i; } while (q--) { int l , r; cin>>l>>r; /*for (int i = 0; i < n + 1; i++){ dist[i] = mod; }*/ vector<int>dist(n+1); queue<pii>q; q.push({vis[l],-1}); dist[vis[l]] = 1; vector<int>pred(n+1); while(!q.empty()){ auto [x,pr] = q.front(); q.pop(); for(auto to:v[x]){ if(to!=pr){ dist[to] = dist[x] + 1; pred[to] = x; q.push({to,x}); } } } vector<int>g(n+1); for(int i = l + 1;i<=r;i++){ int y = vis[i]; while(y!=vis[l]){ g[y] = 1; y = pred[y]; } } int cnt = 0; for(int i = 1;i<=n;i++)cnt+=g[i]; cout<<cnt + 1<<"\n"; } } signed main() { // freopen("seq.in", "r", stdin); // freopen("seq.out", "w", stdout); ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL); int tt=1;//cin>>tt; while(tt--)solve(); }

컴파일 시 표준 에러 (stderr) 메시지

tourism.cpp: In function 'void solve()':
tourism.cpp:38:12: warning: unused variable 'k' [-Wunused-variable]
   38 |  int n,q,m,k;
      |            ^
#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...