fork download
  1.  
  2. //|Art|
  3. #include<iostream>
  4. //#include <chrono>
  5. #include <algorithm>
  6. //#include <cmath>
  7. //#include <climits>
  8. //#include <numeric>
  9. //#include <set>
  10. //#include <unordered_set>
  11. //#include <stack>
  12. //#include <string>
  13. //#include <iomanip>
  14. #include <vector>
  15. //#include <deque>
  16. //#include <queue>
  17. //#include <unordered_map>
  18. //#include <map>
  19. //#include <list>
  20. #include <utility>
  21. //#include <bits/stdc++.h>
  22. #define inout() ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  23. #define el cout << '\n'
  24. #define fi first
  25. #define se second
  26. #define pb push_back
  27. #define pf push_front
  28. #define ll long long
  29. #define N 10000100
  30. #define sz(x) (x).size()
  31. #define all(v) (v).begin(), (v).end()
  32. #define FOR(a,b,c) for(int a=b;a<=c;++a)
  33. #define FORE(a,b,c) for(int a=b;a>=c;--a)
  34. #define __Art__ signed main()
  35. #define NAME "Art"
  36. using namespace std;
  37. vector<ll> a(1);
  38. vector<ll>b(N, 1e16);
  39. void sol(){
  40. ll n, x, y, res = 0;
  41. cin >> n;
  42. a[0] = b[0] = -2;
  43. while (n--){
  44. cin >> x >> y;
  45. while (y--) {
  46. ll l = lower_bound(all(b), x) - b.begin();
  47. b[l] = x;
  48. res = max(res, l);
  49. ++x;
  50. }
  51. }
  52. cout << res;
  53.  
  54. }
  55. __Art__{
  56. inout();
  57. int t = 1;
  58. //cin >> t;
  59. while (t--) sol();
  60.  
  61. //cerr << "\nTime elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << "s\n";
  62. return (0 ^ 0);
  63. }
  64.  
Success #stdin #stdout 0.02s 81180KB
stdin
5
1 3
2 1
9 1
4 3
11 1
stdout
7