Please sign in first.
Submission #20667025
Source Code Expand
#include <atcoder/all>
using namespace atcoder;
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const double pi = 3.14159265359;
const ll INF = 1LL << 60;
template<class T> inline bool chabsmin(T& a, T b){
if (abs(a) > abs(b)){
a = b;
return true;
}
return false;
}
int popc(int bm)
{
int r = 0;
while (bm){
if (bm&1) r++;
bm >>= 1;
}
return r;
}
ll dp[17][1 << 10][2];
int main()
{
string s;
int k;
cin >> s >> k;
int n = s.size();
for (int i = 0; i <= n; i++){
for (int j = 0; j < (1 << 10); j++){
dp[i][j][0] = INF;
dp[i][j][1] = INF;
}
}
dp[0][0][0] = 0;
for (int i = 0; i < n; i++){
for (int bm = 0; bm < (1 << 10); bm++){
for (int j = 0; j < 2; j++){
if (dp[i][bm][j] < INF){
int x = s[i] - '0';
for (int d = 0; d < 10; d++){
int bm1 = bm | (1 << d);
if (i == 0 && d == 0){ bm1 = bm; }
if (popc(bm1) <= k){
ll diff = dp[i][bm][j] * 10 + (x - d);
if (diff >= 0){
chabsmin(dp[i+1][bm1][0], diff);
} else {
chabsmin(dp[i+1][bm1][1], diff);
}
}
}
}
}
}
}
ll ans = INF;
for (int bm = 0; bm < (1 << 10); bm++){
for (int j = 0; j < 2; j++){
ans = min(ans, abs(dp[n][bm][j]));
}
}
cout << ans << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - 壊れた電卓 |
| User | unnohideyuki |
| Language | C++ (GCC 9.2.1) |
| Score | 100 |
| Code Size | 1390 Byte |
| Status | AC |
| Exec Time | 10 ms |
| Memory | 3900 KiB |
Judge Result
| Set Name | sub | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 30 / 30 | 70 / 70 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| sub | test_01A.txt, test_02A.txt, test_04A.txt, test_05A.txt, test_07A.txt, test_09A.txt, test_10A.txt, test_11A.txt, test_12A.txt, test_13A.txt, test_15A.txt, test_17A.txt, test_18A.txt, test_19A.txt, test_21A.txt, test_22A.txt, test_23A.txt, test_25A.txt, test_27A.txt, test_28A.txt, test_29A.txt, test_31A.txt, test_33A.txt, test_34A.txt, test_35A.txt, test_37A.txt, test_38A.txt, test_40A.txt, test_42A.txt, test_44A.txt, test_46A.txt, test_48A.txt |
| All | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, test_01A.txt, test_02A.txt, test_03.txt, test_04A.txt, test_05A.txt, test_06.txt, test_07A.txt, test_08.txt, test_09A.txt, test_10A.txt, test_11A.txt, test_12A.txt, test_13A.txt, test_14.txt, test_15A.txt, test_16.txt, test_17A.txt, test_18A.txt, test_19A.txt, test_20.txt, test_21A.txt, test_22A.txt, test_23A.txt, test_24.txt, test_25A.txt, test_26.txt, test_27A.txt, test_28A.txt, test_29A.txt, test_30.txt, test_31A.txt, test_32.txt, test_33A.txt, test_34A.txt, test_35A.txt, test_36.txt, test_37A.txt, test_38A.txt, test_39.txt, test_40A.txt, test_41.txt, test_42A.txt, test_43.txt, test_44A.txt, test_45.txt, test_46A.txt, test_47.txt, test_48A.txt, test_49.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 10 ms | 3720 KiB |
| sample_02.txt | AC | 3 ms | 3564 KiB |
| sample_03.txt | AC | 2 ms | 3796 KiB |
| sample_04.txt | AC | 1 ms | 3564 KiB |
| test_01A.txt | AC | 2 ms | 3560 KiB |
| test_02A.txt | AC | 2 ms | 3636 KiB |
| test_03.txt | AC | 2 ms | 3900 KiB |
| test_04A.txt | AC | 2 ms | 3664 KiB |
| test_05A.txt | AC | 2 ms | 3576 KiB |
| test_06.txt | AC | 9 ms | 3900 KiB |
| test_07A.txt | AC | 2 ms | 3724 KiB |
| test_08.txt | AC | 2 ms | 3876 KiB |
| test_09A.txt | AC | 2 ms | 3496 KiB |
| test_10A.txt | AC | 2 ms | 3712 KiB |
| test_11A.txt | AC | 2 ms | 3544 KiB |
| test_12A.txt | AC | 2 ms | 3684 KiB |
| test_13A.txt | AC | 2 ms | 3548 KiB |
| test_14.txt | AC | 7 ms | 3788 KiB |
| test_15A.txt | AC | 2 ms | 3684 KiB |
| test_16.txt | AC | 3 ms | 3708 KiB |
| test_17A.txt | AC | 2 ms | 3712 KiB |
| test_18A.txt | AC | 2 ms | 3624 KiB |
| test_19A.txt | AC | 2 ms | 3676 KiB |
| test_20.txt | AC | 2 ms | 3888 KiB |
| test_21A.txt | AC | 2 ms | 3604 KiB |
| test_22A.txt | AC | 2 ms | 3676 KiB |
| test_23A.txt | AC | 2 ms | 3632 KiB |
| test_24.txt | AC | 2 ms | 3804 KiB |
| test_25A.txt | AC | 2 ms | 3724 KiB |
| test_26.txt | AC | 3 ms | 3840 KiB |
| test_27A.txt | AC | 2 ms | 3536 KiB |
| test_28A.txt | AC | 5 ms | 3612 KiB |
| test_29A.txt | AC | 2 ms | 3496 KiB |
| test_30.txt | AC | 2 ms | 3808 KiB |
| test_31A.txt | AC | 2 ms | 3712 KiB |
| test_32.txt | AC | 5 ms | 3672 KiB |
| test_33A.txt | AC | 2 ms | 3600 KiB |
| test_34A.txt | AC | 2 ms | 3680 KiB |
| test_35A.txt | AC | 2 ms | 3676 KiB |
| test_36.txt | AC | 3 ms | 3712 KiB |
| test_37A.txt | AC | 2 ms | 3488 KiB |
| test_38A.txt | AC | 2 ms | 3640 KiB |
| test_39.txt | AC | 2 ms | 3852 KiB |
| test_40A.txt | AC | 4 ms | 3728 KiB |
| test_41.txt | AC | 6 ms | 3704 KiB |
| test_42A.txt | AC | 2 ms | 3768 KiB |
| test_43.txt | AC | 6 ms | 3896 KiB |
| test_44A.txt | AC | 2 ms | 3728 KiB |
| test_45.txt | AC | 2 ms | 3780 KiB |
| test_46A.txt | AC | 2 ms | 3660 KiB |
| test_47.txt | AC | 2 ms | 3836 KiB |
| test_48A.txt | AC | 2 ms | 3564 KiB |
| test_49.txt | AC | 2 ms | 3836 KiB |