Submission #836113

#TimeUsernameProblemLanguageResultExecution timeMemory
836113josanneo22Tourism (JOI23_tourism)C++17
10 / 100
3384 ms8036 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define ld long double #define mp make_pair #define pb push_back #define pii pair<int,int> #define fi first #define se second #define all(x) x.begin(), x.end() #define ar array /*tourism subtask 1&2: make root at l[i] then just find number of nodes passed through */ void solve(){ int n,m,q; cin>>n>>m>>q; if(n*q>=2e8+600){ cout<<0<<'\n'; return; } vector<vector<int>> g(n+1); for(int i=0;i<n-1;i++){ int u,v; cin>>u>>v; g[u].pb(v); g[v].pb(u); } vector<int> c(m+1),d(n+1); function<void(int,int)> dfs=[&](int u,int f){ for(auto&v:g[u]){ if(v==f) continue; dfs(v,u); d[u]+=d[v]; } }; for(int i=1;i<=m;i++) cin>>c[i]; auto reset=[&](int l,int r){ for(int i=1;i<=n;i++) d[i]=0; for(int i=l;i<=r;i++) d[c[i]]=1; }; auto ans=[&](int l,int r){ reset(l,r); dfs(c[l],0); int rs=0; for(int i=1;i<=n;i++) if(d[i]>=1) rs++; cout<<rs<<'\n'; }; while(q--){ int l,r; cin>>l>>r; ans(l,r); } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); clock_t tStart = clock(); int local=0,multi=0,debug=1,tt=1; if(local){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); } if(multi) cin>>tt; for(int i=1;i<=tt;i++){ if(debug && multi && local) cout<<"样例 "<<i<<'\n'; solve(); } fprintf(stderr, "\n>> Runtime: %.10fs\n", (double) (clock() - tStart) / CLOCKS_PER_SEC); }

Compilation message (stderr)

tourism.cpp: In function 'int main()':
tourism.cpp:56:13: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   56 |      freopen("input.txt","r",stdin);
      |      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
tourism.cpp:57:13: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   57 |      freopen("output.txt","w",stdout);
      |      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...