Submission #1180359


Source Code Expand

import java.util.*;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    long A = sc.nextLong();
    long B = sc.nextLong();
    System.out.println(func(B) - func(A - 1));
  }
  // 0~xで禁止された数の個数
  public static long func(long x) {
    if(x == 0) {
      return 0;
    } else {
      // 桁数-1
      long digit = 0;
      // 最高桁の数字
      long num = 0;
      for(int i = 0; i <= 19; i++) {
        if(x / (long)Math.pow(10, i) > 0) {
          num = x / (long)Math.pow(10, i);
        } else {
          digit = i - 1;
          break;
        }
      }
      // 最高桁に使える数字の個数
      long use = 0;
      if(num < 4) {
        use = num + 1;
      } else if(num < 9) {
        use = num;
      } else {
        use = num - 1;
      }
      if(num == 4 || num == 9) {
        return x + 1 - use * (long)Math.pow(8, digit);
      } else {
        long e = x - num * (long)Math.pow(10, digit);
        return x + 1 - (use - 1) * (long)Math.pow(8, digit) - (e + 1 - func(e));
      }
    }
  }
}

Submission Info

Submission Time
Task D - 禁止された数字
User takeya
Language Java8 (OpenJDK 1.8.0)
Score 100
Code Size 1145 Byte
Status AC
Exec Time 96 ms
Memory 23380 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 4
AC × 16
AC × 39
Set Name Test Cases
Sample subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask0_sample04.txt
Subtask1 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, subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt
Subtask2 subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask0_sample04.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, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt
Case Name Status Exec Time Memory
subtask0_sample01.txt AC 91 ms 19412 KB
subtask0_sample02.txt AC 92 ms 19412 KB
subtask0_sample03.txt AC 93 ms 21844 KB
subtask0_sample04.txt AC 91 ms 18644 KB
subtask1_01.txt AC 92 ms 21716 KB
subtask1_02.txt AC 91 ms 18772 KB
subtask1_03.txt AC 93 ms 19540 KB
subtask1_04.txt AC 92 ms 20560 KB
subtask1_05.txt AC 96 ms 20564 KB
subtask1_06.txt AC 92 ms 18772 KB
subtask1_07.txt AC 93 ms 23380 KB
subtask1_08.txt AC 91 ms 21844 KB
subtask1_09.txt AC 92 ms 21844 KB
subtask1_10.txt AC 92 ms 21588 KB
subtask1_11.txt AC 93 ms 19412 KB
subtask1_12.txt AC 92 ms 21716 KB
subtask1_13.txt AC 93 ms 19540 KB
subtask2_01.txt AC 92 ms 20308 KB
subtask2_02.txt AC 90 ms 21716 KB
subtask2_03.txt AC 92 ms 21844 KB
subtask2_04.txt AC 92 ms 18772 KB
subtask2_05.txt AC 93 ms 21588 KB
subtask2_06.txt AC 94 ms 18772 KB
subtask2_07.txt AC 93 ms 18900 KB
subtask2_08.txt AC 93 ms 21204 KB
subtask2_09.txt AC 92 ms 21844 KB
subtask2_10.txt AC 94 ms 19668 KB
subtask2_11.txt AC 92 ms 21460 KB
subtask2_12.txt AC 92 ms 19924 KB
subtask2_13.txt AC 91 ms 21844 KB
subtask2_14.txt AC 93 ms 19540 KB
subtask2_15.txt AC 94 ms 17876 KB
subtask2_16.txt AC 95 ms 21076 KB
subtask2_17.txt AC 91 ms 19924 KB
subtask2_18.txt AC 93 ms 21716 KB
subtask2_19.txt AC 95 ms 21844 KB
subtask2_20.txt AC 91 ms 22100 KB
subtask2_21.txt AC 92 ms 21844 KB
subtask2_22.txt AC 91 ms 21844 KB