Advertisement
a53

Ohoo

a53
May 10th, 2020
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. #include <fstream>
  2. #include <vector>
  3. #include <bitset>
  4. using namespace std;
  5. ifstream fin("Ohoo.in");
  6. ofstream fout("Ohoo.out");
  7. #define Nmax 100005
  8. vector<pair<int,int> > v[Nmax];
  9. bitset<Nmax> vis;
  10. bool t;
  11. int n, m;
  12.  
  13. void dfs(int node, int d)
  14. {
  15. if(node==n) t=1;
  16. else
  17. {
  18. vis[node] = 1;
  19. for (auto i : v[node])
  20. if (!t && i.second<=d && !vis[i.first])
  21. {dfs(i.first,d); }
  22. }
  23. }
  24.  
  25. int main()
  26. {
  27. fin >> n >> m;
  28. int mz = 0;
  29.  
  30. for (int i = 1, x, y, c; i <= m; ++i)
  31. {
  32. fin >> x >> y>> c;
  33. v[x].push_back(make_pair(y,c));
  34. v[y].push_back(make_pair(x,c));
  35. if(c>mz) mz=c;
  36. }
  37.  
  38. int st=1,dr=mz,sol=mz;
  39. while(st<=dr)
  40. {
  41. int mij=(st+dr)/2;
  42. for (int i=1;i<=n;++i) vis[i]=0;
  43. dfs(1,mij);
  44. if(t) {sol=mij; t=0; dr=mij-1;}
  45. else st=mij+1;
  46. }
  47. fout<<sol<<'\n';
  48. return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement