Submission #58424


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include "bits/stdc++.h"
// Begin Header {{{
using namespace std;
#ifndef DEBUG
#define dump(...)
#endif
#define all(x) x.begin(), x.end()
#define rep(i, n) for (intmax_t i = 0, i##_limit = (n); i < i##_limit; ++i)
#define reps(i, b, e) for (intmax_t i = (b), i##_limit = (e); i <= i##_limit; ++i)
#define repr(i, b, e) for (intmax_t i = (b), i##_limit = (e); i >= i##_limit; --i)
#define var(Type, ...) Type __VA_ARGS__; input(__VA_ARGS__)
constexpr size_t operator""_zu(unsigned long long value) { return value; };
constexpr intmax_t operator""_jd(unsigned long long value) { return value; };
constexpr uintmax_t operator""_ju(unsigned long long value) { return value; };
constexpr int INF = 0x3f3f3f3f;
constexpr intmax_t LINF = 0x3f3f3f3f3f3f3f3f_jd;
template <class T>
using MaxHeap = priority_queue<T, vector<T>, less<T>>;
template <class T>
using MinHeap = priority_queue<T, vector<T>, greater<T>>;
inline void input() {}
template <class Head, class... Tail>
inline void input(Head&& head, Tail&&... tail) {
cin >> head;
input(forward<Tail>(tail)...);
}
template <class T>
inline void input(vector<T> &vec) {
for (auto &e: vec) {
cin >> e;
}
}
template <class T>
inline void input(vector<vector<T>> &mat) {
for (auto &vec: mat) {
input(vec);
}
}
inline void print() { cout << "\n"; }
template <class Head, class... Tail>
inline void print(Head&& head, Tail&&... tail) {
cout << head;
if (sizeof...(tail)) cout << " ";
print(forward<Tail>(tail)...);
}
template <class T>
inline ostream& operator<<(ostream &strm, const vector<T> &vec) {
static constexpr const char *delim[] = {" ", ""};
for (const auto &e: vec) {
strm << e << delim[&e == &vec.back()];
}
return strm;
}
template <class T>
inline vector<T> make_v(const T &initValue, size_t sz) {
return vector<T>(sz, initValue);
}
template <class T, class... Args>
inline auto make_v(const T &initValue, size_t sz, Args... args) {
return vector<decltype(make_v<T>(initValue, args...))>(sz, make_v<T>(initValue, args...));
}
template <class Func>
class FixPoint : Func {
public:
explicit constexpr FixPoint(Func&& f) noexcept : Func(forward<Func>(f)) {}
template <class... Args>
constexpr decltype(auto) operator()(Args&&... args) const {
return Func::operator()(*this, std::forward<Args>(args)...);
}
};
template <class Func>
static inline constexpr decltype(auto) makeFixPoint(Func&& f) noexcept {
return FixPoint<Func>{forward<Func>(f)};
}
template <class T>
inline bool chmax(T &a, const T &b) noexcept {
return b > a && (a = b, true);
}
template <class T>
inline bool chmin(T &a, const T &b) noexcept {
return b < a && (a = b, true);
}
template <class T>
inline T diff(const T &a, const T &b) noexcept {
return a < b ? b - a : a - b;
}
// End Header }}}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
var(size_t, N);
constexpr auto digitSum = [](size_t n) -> size_t {
size_t ret = 0;
while (n) {
ret += n % 10;
n /= 10;
}
return ret;
};
const size_t MAX = size_t(1e6);
vector dp(MAX + 100, 1_zu);
reps(n, 1, MAX) {
dp[n + digitSum(n)] += dp[n];
}
print(dp[N]);
return 0;
}

ステータス

項目 データ
問題 1267 - 桁和 (Digit Sum)
ユーザー名 もけ
投稿日時 2020-02-03 21:13:16
言語 C++17
状態 Accepted
得点 100
ソースコード長 3447 Byte
最大実行時間 35 ms
最大メモリ使用量 8488 KB

セット

セット 得点 Cases
1 ALL 100 / 100 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
01-01.txt AC 35 ms 8412 KB
1
01-02.txt AC 24 ms 8488 KB
1
01-03.txt AC 26 ms 8436 KB
1
01-04.txt AC 35 ms 8252 KB
1
01-05.txt AC 31 ms 8324 KB
1
01-06.txt AC 28 ms 8404 KB
1
01-07.txt AC 33 ms 8352 KB
1
01-08.txt AC 27 ms 8296 KB
1
01-09.txt AC 27 ms 8244 KB
1
01-10.txt AC 34 ms 8324 KB
1
01-11.txt AC 31 ms 8400 KB
1
01-12.txt AC 27 ms 8348 KB
1
01-13.txt AC 23 ms 8424 KB
1
01-14.txt AC 27 ms 8240 KB
1
01-15.txt AC 34 ms 8316 KB
1
01-16.txt AC 31 ms 8388 KB
1
01-17.txt AC 27 ms 8464 KB
1
sample-01.txt AC 28 ms 8284 KB
1
sample-02.txt AC 31 ms 8364 KB
1
sample-03.txt AC 35 ms 8308 KB
1