Advertisement
Ritam_C

Julya Calendar

Apr 5th, 2021
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define ull unsigned long long int
  4. #define ld long double
  5. #define pb push_back
  6. #define p_b pop_back
  7. #define si stack<int>
  8. #define sll stack<ll>
  9. #define sc stack<char>
  10. #define vi vector<int>
  11. #define vll vector<ll>
  12. #define mii map<int, int>
  13. #define msi map<string, int>
  14. #define mci map<char, int>
  15. #define qc queue<char>
  16. #define qi queue<int>
  17. #define qll queue<ll>
  18. using namespace std;
  19.  
  20. ull power(int n, int b){
  21.     if(b == 0){
  22.         return 1;
  23.     } else{
  24.         if(b%2 == 0){
  25.             return power(n, b/2)*power(n, b/2);
  26.         } else{
  27.             return n*power(n, (b-1)/2)*power(n, (b-1)/2);
  28.         }
  29.     }
  30. }
  31.  
  32. int main(){
  33.     ios_base::sync_with_stdio(false);
  34.     cin.tie(NULL);
  35.     ull n, m, count = 0;
  36.     cin >> n;
  37.     while(n > 0){
  38.         int dp[10] = {0}, digits = 1;
  39.         m = n;
  40.         while(m > 0){
  41.             dp[m%10] = digits;
  42.             m /= 10;
  43.             digits++;
  44.         }
  45.         for(int i = 9; i >= 0; i--){
  46.             if(dp[i] > 0){
  47.                 if(i == 9){
  48.                     n -= 9*power(10, dp[i]-1);
  49.                     count += power(10, dp[i]-1);
  50.                 } else if(i > 0){
  51.                     n -= i;
  52.                     count++;
  53.                 }
  54.  
  55.                 break;
  56.             }
  57.         }
  58.     }
  59.     cout << count << "\n";
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement