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
AC × 32
AC × 57
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