fork download
  1. #include <iostream>
  2. #include <set>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. // int t;
  10. // cin>>t;
  11. // while(t--) {
  12. set<int> myfact;
  13. int f,id,n,num,max_mach=0,max_id=-1;
  14. cin>>f>>id>>n;
  15. while(n--) {
  16. cin>>num;
  17. myfact.insert(num);
  18. }
  19. for(int i=0;i<f;i++) {
  20. cin>>id>>n;
  21. set<int> newfact,mergedfact;
  22. while(n--) {
  23. cin>>num;
  24. newfact.insert(num);
  25. }
  26. set_union(myfact.begin(),myfact.end(),
  27. newfact.begin(),newfact.end(),
  28. inserter(mergedfact,mergedfact.end()));
  29. int mach_num=mergedfact.size();
  30. if(mach_num>max_mach) {
  31. max_mach=mach_num;
  32. max_id=id;
  33. }
  34. else if(mach_num==max_mach&&id<max_id) {
  35. max_mach=mach_num;
  36. max_id=id;
  37. }
  38. }
  39. cout<<max_id<<'\n';
  40. // }
  41. return 0;
  42. }
Success #stdin #stdout 0s 15232KB
stdin
3
23 5 4 2 2 3 11 
13 2 1 3 
25 4 2 5 11 6 
6 3 9 10 4
stdout
6