Advertisement
ivangarvanliev

Untitled

Jan 17th, 2025
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include <iostream>  
  2. #include <vector>  
  3. #include <set>  
  4. #include <map>  
  5. #include <algorithm>  
  6.      
  7. using namespace std;  
  8.      
  9. int main()  
  10. {  
  11.     int n,B1,B2,P;  
  12.     cin>>n>>B1>>B2>>P;  
  13.     vector <int> kosta(B1);///gradovi na kosta  
  14.     vector <int> kiril(B2);///gradovi na kiril  
  15.      
  16.     set<int> kirilSet;  
  17.     set<int> kostaSet;  
  18.      
  19.     for(int i=0;i<B1;i++){  
  20.         cin>>kosta[i];  
  21.         kostaSet.insert(kosta[i]);  
  22.     }  
  23.     for(int i=0;i<B2;i++){  
  24.         cin>>kiril[i];  
  25.         kirilSet.insert(kiril[i]);  
  26.     }  
  27.     int m;///broj na parovi  
  28.     cin>>m;  
  29.     vector<int> connected[n];  
  30.        
  31.     for(int i=0;i<m;i++){  
  32.         int xi,yi;  
  33.         cin>>xi>>yi;  
  34.    
  35.         connected[xi-1].push_back(yi-1);  
  36.         connected[yi-1].push_back(xi-1);  
  37.     }  
  38.    
  39.     for(int i=0; i<n; i++){  
  40.         if (connected[i].size() > 1){  
  41.             sort(connected[i].begin(), connected[i].end());  
  42.         }  
  43.     }  
  44.    
  45.     int rez=0;  
  46.     for(int i=0;i<kosta.size();i++)  
  47.     {  
  48.         if(P==0){  
  49.             break;  
  50.         }  
  51.         for(int j : connected[kosta[i]-1]){  
  52.             if(kirilSet.count(j+1) == 0 && kostaSet.count(j+1) == 0){  
  53.                 P--;  
  54.                 kosta.push_back(j+1);  
  55.                 kostaSet.insert(j+1);  
  56.                 rez++;  
  57.             }  
  58.         }  
  59.     }  
  60.     cout<<rez;  
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement