Submission #1004118

#TimeUsernameProblemLanguageResultExecution timeMemory
1004118vjudge1Railway (BOI17_railway)C++17
0 / 100
112 ms31696 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define f first #define s second #define pb push_back #define pf push_front #define pi pair<int,int> #define vi vector<int> const int MAX = 1e6+10; vi g[MAX]; int main(){ int n,m,k; cin >> n>>m>>k; pi coor[n]; ll cnt[n]; memset(cnt,0,sizeof(cnt)); ll a,b; map<pi,int>mp; for(int i = 1; i < n; i++){ cin >> a >>b; if(a>b)swap(a,b); if(mp.count({a,b})){ g[mp[{a,b}]].pb(i); } else mp[{a,b}]= i; coor[i]={a,b}; } int x,y; for(int i =0; i < m; i++){ cin >> a ; while(a--){ cin >> b; x = coor[b].f; y = coor[b].s; if(x>y) swap(x,y); cnt[mp[{x,y}]]++; } } vi ans; for(int i =0 ; i < n; i++){ if(cnt[i]>=k){ ans.pb(i); for(int j : g[i]){ ans.pb(j); } } } sort(ans.begin(),ans.end()); cout << ans.size() << endl; for(int i : ans){ cout << i << " "; } cout << endl; }
#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...