Submission #29119657


Source Code Expand

#include <atcoder/all>
using namespace atcoder;
using mint = modint998244353;
// using mint = modint1000000007;
#include <bits/stdc++.h>
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define rep2(i,k,n) for (int i = (k); i < (n); ++i)
using namespace std;
using ll = long long;
// using P = pair<ll,ll>;
using P = pair<int,int>;
using vint = vector<int>;
using vll = vector<ll>;
using vvint = vector<vector<int>>;
using vvll = vector<vector<ll>>;

// const ll INF = (ll)2e18+9;
const int INF = (int)2e9+7;
// const ll MOD = (ll)1e9+9;
template<typename T>
void chmin(T &a, T b) { a = min(a, b); }
template<typename T>
void chmax(T &a, T b) { a = max(a, b); }

template<typename T>
void print(vector<T> v) {
    int n = v.size();
    rep(i,n) {
        if (i == 0) cout << v[i];
        else cout << ' ' << v[i];
    }
    cout << endl;
}

mint sum(ll x) {
    return mint(x+1) * x / 2;
}

void solve() {
    ll n;
    cin >> n;

    ll l = 1;
    mint ans = 0;
    while (l <= n) {
        ll r = min(n+1, 10*l);
        ll len = r-l;
        ans += sum(len);
        l *= 10;
    }
    cout << ans.val() << endl;
}

int main() {
    solve();
    return 0;
}

Submission Info

Submission Time
Task C - digitnum
User goropikari
Language C++ (GCC 9.2.1)
Score 300
Code Size 1298 Byte
Status AC
Exec Time 7 ms
Memory 3692 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 28
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt
Case Name Status Exec Time Memory
sample_01.txt AC 7 ms 3496 KiB
sample_02.txt AC 2 ms 3500 KiB
sample_03.txt AC 2 ms 3636 KiB
test_01.txt AC 2 ms 3588 KiB
test_02.txt AC 3 ms 3556 KiB
test_03.txt AC 2 ms 3684 KiB
test_04.txt AC 2 ms 3536 KiB
test_05.txt AC 2 ms 3536 KiB
test_06.txt AC 2 ms 3560 KiB
test_07.txt AC 2 ms 3492 KiB
test_08.txt AC 2 ms 3500 KiB
test_09.txt AC 2 ms 3608 KiB
test_10.txt AC 2 ms 3664 KiB
test_11.txt AC 3 ms 3648 KiB
test_12.txt AC 2 ms 3540 KiB
test_13.txt AC 2 ms 3448 KiB
test_14.txt AC 2 ms 3488 KiB
test_15.txt AC 1 ms 3640 KiB
test_16.txt AC 3 ms 3500 KiB
test_17.txt AC 2 ms 3664 KiB
test_18.txt AC 2 ms 3540 KiB
test_19.txt AC 2 ms 3536 KiB
test_20.txt AC 2 ms 3636 KiB
test_21.txt AC 2 ms 3588 KiB
test_22.txt AC 2 ms 3556 KiB
test_23.txt AC 2 ms 3692 KiB
test_24.txt AC 2 ms 3532 KiB
test_25.txt AC 2 ms 3636 KiB