Advertisement
mickypinata

PROG-T1049: Runner

Mar 24th, 2020
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. typedef struct runner{
  6.     int num;
  7.     int sp;
  8.     int lane;
  9. }runner;
  10.  
  11. vector<int> sz;
  12. vector<runner> winner;
  13. int nl;
  14.  
  15. void PrintWinner(){
  16.     for(auto x : winner){
  17.         cout << x.num << "\n";
  18.     }
  19.     return;
  20. }
  21.  
  22. void PrintSize(){
  23.     for(int i = 1; i <= nl; ++i){
  24.         cout << sz[i] << " ";
  25.     }
  26.     cout << "\n";
  27.     return;
  28. }
  29.  
  30. int main(){
  31.  
  32.     int nr, r, l, s;
  33.  
  34.     scanf("%d", &nr);
  35.     scanf("%d", &nl);
  36.     sz.assign(nl + 1, 0);
  37.     for(int i = 1; i <= nr; ++i){
  38.         scanf("%d %d %d", &r, &l, &s);
  39.         if(sz[l] + 1 > winner.size()){
  40.             winner.push_back({r, s, l});
  41.         } else if(s > winner[sz[l]].sp){
  42.             winner[sz[l]] = {r, s, l};
  43.         } else if(s == winner[sz[l]].sp){
  44.             if(l < winner[sz[l]].lane){
  45.                 winner[sz[l]] = {r, s, l};
  46.             }
  47.         }
  48.         ++sz[l];
  49.     }
  50.     PrintWinner();
  51.  
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement