Submission #49382578
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define ll long long ll N, dp[16][130][130][130][2]; int main() { cin >> N; // 初期化 for (int s = 1; s <= 9 * 14; s++) dp[0][s][0][0][0] = 1; ll pow10 = 1; for (int d = 0; d < 15; d ++) { int n = N % 10; for (int s = 1; s <= 9 * 14; s++) { for (int i = 0; i <= 9 * 14; i++) { for (int j = 0; j < s; j++) { for (int f = 0; f < 2; f++) { for (int t = 0; t < 10; t++) { if (i + t > s) break; int nf = 2 * n < 2 * t + f; dp[d + 1][s][i + t][(pow10 * t + j) % s][nf] += dp[d][s][i][j][f]; } } } } } N /= 10; pow10 *= 10; } ll ans = 0; for (int s = 1; s <= 9 * 14; s++) ans += dp[15][s][s][0][0]; cout << ans << '\n'; }
Submission Info
Submission Time | |
---|---|
Task | E - Digit Sum Divisible |
User | ikefumy |
Language | C++ 20 (gcc 12.2) |
Score | 525 |
Code Size | 1002 Byte |
Status | AC |
Exec Time | 680 ms |
Memory | 257312 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 525 / 525 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 02_max_00.txt, 02_max_01.txt, 03_min_00.txt, 04_corner_00.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 679 ms | 257212 KiB |
00_sample_01.txt | AC | 679 ms | 257176 KiB |
00_sample_02.txt | AC | 678 ms | 257224 KiB |
01_random_00.txt | AC | 679 ms | 257312 KiB |
01_random_01.txt | AC | 678 ms | 257120 KiB |
02_max_00.txt | AC | 679 ms | 257084 KiB |
02_max_01.txt | AC | 676 ms | 257276 KiB |
03_min_00.txt | AC | 680 ms | 257180 KiB |
04_corner_00.txt | AC | 678 ms | 257276 KiB |