GastonFontenla

Untitled

Jun 10th, 2018
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     vector < pair <int, int> > v;
  10.     int cant, a, b, minimo = 0;
  11.  
  12.     cin >> cant;
  13.  
  14.     for(int i = 0; i < cant; i++)
  15.     {
  16.         cin >> a >> b;
  17.         v.push_back({b, a});
  18.     }
  19.  
  20.     sort(v.begin(), v.end());
  21.  
  22.     int i = 0, j = v.size()-1;
  23.     while(i <= j)
  24.     {
  25.             minimo = max(minimo, (v[i].first + v[j].first));
  26.  
  27.             if(v[i].second > v[j].second)
  28.             {
  29.                 v[i].second -= v[j].second;
  30.                 v[j].second = 0;
  31.                 j--;
  32.             }
  33.             else if(v[i].second < v[j].second)
  34.             {
  35.                 v[j].second -= v[i].second;
  36.                 v[i].second = 0;
  37.                 i++;
  38.             }
  39.             else
  40.             {
  41.                 v[j].second = 0;
  42.                 v[i].second = 0;
  43.                 i++;
  44.                 j--;
  45.             }
  46.     }
  47.  
  48.     cout << minimo << "\n";
  49.  
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment