Advertisement
Brick99

CCC03 Trucking troubles

May 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.49 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <cmath>
  4. #include <algorithm>
  5. #include <vector>
  6. #include <iomanip>
  7. #include <stack>
  8. #include <queue>
  9. #include <set>
  10. #include <utility>
  11.  
  12. using namespace std;
  13.  
  14. int main()
  15. {
  16.     int c,r,d;
  17.     cin>>c>>r>>d;
  18.  
  19.     vector <vector <pair<int, int> > > lis;
  20.     const int inf = 2e9;
  21.  
  22.     pair <pair<int, int>, int> graf[r];
  23.     for (int i=0;i<r;i++) cin>>graf[i].first.first>>graf[i].first.second>>graf[i].second;
  24.  
  25.     for (int i=1;i<=c;i++)
  26.     {
  27.         vector <pair<int, int> > ele;
  28.         if ( i == 1 ) lis.push_back(ele);
  29.         for (int j=0;j<r;j++)
  30.             if ( graf[j].first.first == i || graf[j].first.second == i ) ele.push_back({i,graf[j].second});
  31.         lis.push_back(ele);
  32.     }
  33.  
  34.     vector <bool> bio(c+1,false);
  35.     vector <int> uda(c+1,inf);
  36.     uda[1]=0;
  37.  
  38.     for (int i=1;i<=c;i++)
  39.     {
  40.         int tko;
  41.         for (int j=1;j<=c;j++)
  42.             if ( bio[j] == false ) tko=j;
  43.         bio[tko]=true;
  44.  
  45.         for (int j=0;j<lis[tko].size();j++)
  46.             if ( uda[lis[tko][j].first] == inf && uda[lis[tko][j].first] > lis[tko][j].second ) uda[lis[tko][j].first] = lis[tko][j].second;
  47.         for (int j=0;j<lis[tko].size();j++)
  48.             if ( uda[lis[tko][j].first] < lis[tko][j].second ) uda[lis[tko][j].first] = lis[tko][j].second;
  49.     }
  50.  
  51.     int minn = inf;
  52.     while ( d-- )
  53.     {
  54.         int a;
  55.         cin>>a;
  56.  
  57.         minn=min(minn,uda[a]);
  58.     }
  59.  
  60.     cout<<minn<<endl;
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement