Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define LL long long
- #define N ((int)6e4 + 5)
- #define MOD ((int)998244353 + 0)
- #define MAX ((int)1e9 + 7)
- #define MAXL ((ll)1e18 + 7)
- #define MAXP ((int)1e3 + 7)
- #define thr 1e-8
- #define pi acos(-1) /// pi = acos ( -1 )
- #define fastio ios_base::sync_with_stdio(false),cin.tie(NULL)
- #define endl "\n"
- using namespace std;
- int nCr(int n , int r) /// O(n*n)
- {
- if(min(n , r) < 0) return 0;
- if(r == 0) return 1;
- if(dpp[n][r] != -1) return dpp[n][r];
- return dpp[n][r] = nCr(n-1 , r) + nCr(n - 1 , r - 1);
- }
- int Series(int start , int rat , int n)
- {
- int ans = start * (BigMod(rat , n) - 1) % MOD * BigMod(rat - 1 , MOD - 2) % MOD;
- if(ans < 0) ans += MOD;
- return ans;
- }
- void PreProcess(int n)
- {
- fac[0] = 1;
- for(int i = 1 ; i <= n ; i++) fac[i] = 1LL*i*fac[i-1] % MOD;
- ifac[n] = BigMod(fac[n] , MOD-2);
- for(int i = n - 1; i >= 0 ; i--) ifac[i] = 1LL*(i+1)*ifac[i+1] % MOD;
- }
- int main()
- {
- /// problem: https://www.spoj.com/problems/ADASUM/
- string num;
- cin>>num;
- int ans = 0;
- for(int i = 0 ; i < num.size() ; i++){
- int digit = num[i] - '0';
- int s = i + 1;
- int e = num.size() - i - 1;
- ans =(ans + 1LL * digit * s * Series(1 , 10 , e + 1)) % MOD;
- }
- cout<<ans<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement