fork download
  1. #include <bits/stdc++.h>
  2. #include <ext/pb_ds/assoc_container.hpp>
  3. #include <ext/pb_ds/tree_policy.hpp>
  4.  
  5. using namespace std;
  6. using namespace __gnu_pbds;
  7. using ll = long long;
  8. using ld = long double;
  9.  
  10. #define all(x) x.begin(),x.end()
  11. #define v(x) vector<x>
  12. #define nl '\n'
  13. #define fxd(x) fixed << setprecision(x)
  14. template<class t> using ordered_set = tree<t, null_type, less<t>, rb_tree_tag, tree_order_statistics_node_update>;
  15. template<class t> using ordered_multiset = tree<t, null_type, less_equal<t>, rb_tree_tag, tree_order_statistics_node_update>;
  16.  
  17. /* bool cmp(const pair<ll,ll>& a ,const pair<ll,ll>& b)
  18. {
  19.   if(a.first == b.first)
  20.   {
  21.   return a.second > b.second;
  22.   }
  23.   else
  24.   {
  25.   return a.first < b.first;
  26.   }
  27. }
  28.  */
  29. int main()
  30. {
  31. ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
  32. int n; cin >> n;
  33. // d | f
  34. vector<pair<ll,ll>> tasks(n);
  35. for (int i = 0; i < n; i++)
  36. {
  37. cin >> tasks[i].first >> tasks[i].second;
  38. }
  39. sort(tasks.begin(),tasks.end());
  40.  
  41. ll rew = 0, cur =0;
  42. for(auto x : tasks)
  43. {
  44. cur+= x.first;
  45. rew += x.second - cur;
  46. }
  47. cout << rew;
  48. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
Standard output is empty