Advertisement
Zeinab_Hamdy

Untitled

Feb 3rd, 2023
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.08 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define ull unsigned ll
  5. #define nl "\n"
  6. #define sz(x) int(x.size())
  7. #define NumOfDigit(w) log10(w) + 1
  8. #define fill(arr, val)  memset(arr, val , sizeof(arr))
  9. #define PI 3.141592654
  10. #define ceil(w, m) (((w) / (m)) + ((w) % (m) ? 1 : 0))
  11. #define all(v) v.begin(), v.end()
  12. #define rall(v) v.rbegin(), v.rend()
  13. #define fi first
  14. #define se second
  15. #define cin(v) for (auto&i:v) cin >> i;
  16. #define cout(v) for (auto&i:v) cout << i << " ";
  17. #define fixed(n) fixed << setprecision(n)
  18. #define MOD  1000000007
  19.  
  20.  
  21. void IO(){
  22.     ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
  23. }
  24. void files(){
  25.     //freopen("filename.in" , "r" ,stdin);
  26.             #ifndef ONLINE_JUDGE
  27.               freopen("input.txt", "r", stdin);  freopen("output.txt", "w", stdout);
  28.             #endif
  29. }
  30.  
  31. int sum_digit(int n ){
  32.     int ans =0;
  33.     while(n) ans+=n%10 , n/=10;
  34.  
  35.     return ans ;
  36. }
  37. void solve(){
  38.  
  39. int n , q ;
  40. cin >> n >> q;
  41.  
  42. vector < int > v(n) , pa(n+1);
  43. cin(v);
  44. int freq[n+1]{};
  45. while(q--){
  46.     int t; cin >> t;
  47.     if(t==2) {
  48.         int x; cin >> x;
  49.         x--;
  50.        
  51.             bool flag =1;
  52.           int cnt= freq[x];
  53.             if(cnt==0) {
  54.                 cout << v[x] << nl;
  55.                 continue;
  56.             }
  57.            
  58.             while(cnt--){
  59.                 if(v[x] < 10) {
  60.                     flag =0;
  61.                     cout << v[x] << nl;
  62.                    
  63.                     break;
  64.                 }else {
  65.                     v[x]= sum_digit(v[x]);
  66.                 }
  67.             }
  68.             if(flag) cout << v[x] << nl;
  69.             freq[x]=0;
  70.        
  71.     }
  72.     else{
  73.         int l ,r ;
  74.         cin >> l >> r ;
  75.         l-- , r--;
  76.         for(int i=l ; i<=r;i++) freq[i]++;
  77.        
  78.     }
  79.    
  80.    
  81. }
  82.  
  83. }
  84. int main(){
  85.                  IO();  
  86.                   //files();
  87.                  
  88.        
  89.     int testCase=1;  // one test case
  90.      cin >> testCase ;      
  91.  while(testCase--)
  92.         solve();  // my code
  93.        
  94.     return 0;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement