Submission #2619854


Source Code Expand

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
#define int ll

#define REP(i,n) for(ll i=0;i<n;++i)
#define SORT(name) sort(name.begin(), name.end())
#define ZERO(p) memset(p, 0, sizeof(p))
#define MINUS(p) memset(p, -1, sizeof(p))
#if 1
#  define DBG(fmt, ...) printf(fmt, ##__VA_ARGS__)
#else
#  define DBG(fmt, ...)
#endif

const ll LLINF = (1LL<<60);
const int INF = (1LL<<30);
const int MOD = 1000000007;
#define MAX_N 100

string N;
ll dp[MAX_N][2][MAX_N];

ll dfs(ll k = 0, bool tight = true, ll cur = 0) {
    if(k >= N.length()) {
        return cur;
    }

    ll x = N[k] - '0';
    ll r = (tight ? x : 9);

    ll& res = dp[k][(tight ? 1 : 0)][cur];
    if(~res) { return res; }
    res = 0;

    for(ll i = 0; i <= r; ++i) {
        res += dfs(k+1, tight && i == r, (i == 1) ? cur+1 : cur);
        res %= MOD;
    }
    return res;
}

signed main()
{
    cin >> N;
    MINUS(dp);
    printf("%lld\n", dfs());
    return 0;
}

Submission Info

Submission Time
Task D - 1
User VTR
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1011 Byte
Status AC
Exec Time 1 ms
Memory 384 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 20 / 20 80 / 80
Status
AC × 3
AC × 22
AC × 43
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt
Subtask1 subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt
Subtask2 subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 1 ms 384 KB
subtask0_sample_02.txt AC 1 ms 384 KB
subtask0_sample_03.txt AC 1 ms 384 KB
subtask1_01.txt AC 1 ms 384 KB
subtask1_02.txt AC 1 ms 384 KB
subtask1_03.txt AC 1 ms 384 KB
subtask1_04.txt AC 1 ms 384 KB
subtask1_05.txt AC 1 ms 384 KB
subtask1_06.txt AC 1 ms 384 KB
subtask1_07.txt AC 1 ms 384 KB
subtask1_08.txt AC 1 ms 384 KB
subtask1_09.txt AC 1 ms 384 KB
subtask1_10.txt AC 1 ms 384 KB
subtask1_11.txt AC 1 ms 384 KB
subtask1_12.txt AC 1 ms 384 KB
subtask1_13.txt AC 1 ms 384 KB
subtask1_14.txt AC 1 ms 384 KB
subtask1_15.txt AC 1 ms 384 KB
subtask1_16.txt AC 1 ms 384 KB
subtask1_17.txt AC 1 ms 384 KB
subtask1_18.txt AC 1 ms 384 KB
subtask1_19.txt AC 1 ms 384 KB
subtask1_20.txt AC 1 ms 384 KB
subtask2_21.txt AC 1 ms 384 KB
subtask2_22.txt AC 1 ms 384 KB
subtask2_23.txt AC 1 ms 384 KB
subtask2_24.txt AC 1 ms 384 KB
subtask2_25.txt AC 1 ms 384 KB
subtask2_26.txt AC 1 ms 384 KB
subtask2_27.txt AC 1 ms 384 KB
subtask2_28.txt AC 1 ms 384 KB
subtask2_29.txt AC 1 ms 384 KB
subtask2_30.txt AC 1 ms 384 KB
subtask2_31.txt AC 1 ms 384 KB
subtask2_32.txt AC 1 ms 384 KB
subtask2_33.txt AC 1 ms 384 KB
subtask2_34.txt AC 1 ms 384 KB
subtask2_35.txt AC 1 ms 384 KB
subtask2_36.txt AC 1 ms 384 KB
subtask2_37.txt AC 1 ms 384 KB
subtask2_38.txt AC 1 ms 384 KB
subtask2_39.txt AC 1 ms 384 KB
subtask2_40.txt AC 1 ms 384 KB