fork download
  1. #include<bits/stdc++.h>
  2. #define ll long long
  3. #define vi vector<int>
  4. using namespace std;
  5. int n,k;
  6. int main(){
  7. freopen("FCOIN.INP","r",stdin);
  8. freopen("FCOIN.OUT","w",stdout);
  9. cin>>n>>k;
  10. unordered_map<int,bool> mp;
  11. set<int> se;
  12. for(int i=0;i<k;i++){
  13. int x;cin>>x;
  14. vi l(x),r(x);
  15. set<int> all;
  16. for(int i=0;i<x;i++){
  17. cin>>l[i];
  18. all.insert(l[i]);
  19. }
  20. for(int i=0;i<x;i++){
  21. cin>>r[i];
  22. all.insert(r[i]);
  23. }
  24. int s;cin>>s;
  25. if(s==0){
  26. for(auto x:all){
  27. mp[x]=true;
  28. }
  29. }
  30. else{
  31. set<int> tmp;
  32. if(s==1){
  33. for(int i=0;i<r.size();i++){
  34. tmp.insert(r[i]);
  35. }
  36. }else{
  37. for(int i=0;i<l.size();i++){
  38. tmp.insert(l[i]);
  39. }
  40. }
  41. if(se.empty()){
  42. se=tmp;
  43. }
  44. else{
  45. set<int> ts;
  46. for(auto x:se){
  47. if(tmp.count(x)) ts.insert(x);
  48. }
  49. se=ts;
  50. }
  51. }
  52. }
  53. for(auto &x:mp){
  54. if(x.second) se.erase(x.first);
  55. }
  56. if(se.size()==1) cout<<*se.begin();
  57. else cout<<0;
  58. return 0;
  59. }
Success #stdin #stdout 0.01s 5324KB
stdin
Standard input is empty
stdout
Standard output is empty