Advertisement
Korotkodul

A_v2

Mar 29th, 2023 (edited)
540
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.77 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <algorithm>
  5. #define pii pair <int, int>
  6. using namespace std;
  7.  
  8. bool sh = 0;
  9.  
  10. int dif(int x) {
  11.     string s = to_string(x);
  12.     int minim = 10, maxim = -1;
  13.     for (char l: s) {
  14.         int k = (int)l - (int)'0';
  15.         if (k < minim) minim = k;
  16.         if (k > maxim) maxim = k;
  17.     }
  18.     return maxim - minim;
  19. }
  20.  
  21. int seek(int l, int r) {
  22.     pii bst = {-1, -1};
  23.     for (int i = l; i <= r; ++i) {
  24.         int d = dif(i);
  25.         if (d > bst.first) {
  26.             bst = {d, i};
  27.         }
  28.     }
  29.     return bst.second;
  30. }
  31.  
  32. int get(int x) {
  33.     string s = to_string(x);
  34.     int minim=10, maxim=-1;
  35.     while (1) {
  36.         if (sh) {
  37.             cout << "x = " << x << "\n";
  38.         }
  39.         s = to_string(x);
  40.         for (char l: s) {
  41.             int k = (int)l - (int)'0';
  42.             if (sh) {
  43.                 cout << "k = " << k <<"\n";
  44.                 cout << "minim maxim = " << minim << ' ' << maxim << "\n";
  45.             }
  46.             if (k < minim) minim = k;
  47.             if (k > maxim) maxim = k;
  48.         }
  49.         if (maxim == 9 && minim == 0) {
  50.             return x;
  51.         }
  52.         x++;
  53.     }
  54. }
  55.  
  56. int main()
  57. {
  58.     /*ios::sync_with_stdio(0);
  59.     cin.tie(0);
  60.     cout.tie(0);*/
  61.  
  62.     int t; cin >> t;
  63.     for (int go = 0; go < t; ++go) {
  64.         int l, r; cin >> l >> r;
  65.         if (sh) {
  66.             cout << "l r = " << l << ' ' << r << "\n";
  67.         }
  68.         int ans = -1;
  69.         ans = get(l);
  70.         if (sh) {
  71.             cout << "ans = " << ans << "\n";
  72.         }
  73.         if (ans > r) {
  74.             ans = seek(l, r);
  75.             if (sh) {
  76.                 cout << "delta ans = " << ans << "\n";
  77.             }
  78.         }
  79.         cout << ans << "\n";
  80.     }
  81. }
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement