Submission #1983543


Source Code Expand

#include <cstdlib>
#include <cstdint>
#include <iostream>
#include <limits>


template<
  typename T,
  typename F
>
static inline void
divisorPair(T n, const F& f)
{
  for (T i = 1; i * i <= n; i++) {
    if (n % i == 0) {
      f(i, n / i);
    }
  }
}


template<typename T>
static inline int
digits(T n, int base = 10)
{
  int cnt = 0;
  for (; n != 0; n /= base) {
    cnt++;
  }
  return cnt;
}


int
main()
{
  std::cin.tie(nullptr);
  std::ios::sync_with_stdio(false);

  std::uint64_t n;
  std::cin >> n;

  auto f = std::numeric_limits<int>::max();
  divisorPair(n, [&f](const auto&, const auto& b){
    f = std::min(f, digits(b));
  });
  std::cout << f << std::endl;

  return EXIT_SUCCESS;
}

Submission Info

Submission Time
Task C - Digits in Multiplication
User koturn
Language C++14 (GCC 5.4.1)
Score 300
Code Size 755 Byte
Status AC
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 15
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 2 ms 256 KB
subtask_1_1.txt AC 1 ms 256 KB
subtask_1_10.txt AC 2 ms 256 KB
subtask_1_11.txt AC 1 ms 256 KB
subtask_1_12.txt AC 1 ms 256 KB
subtask_1_2.txt AC 1 ms 256 KB
subtask_1_3.txt AC 2 ms 256 KB
subtask_1_4.txt AC 2 ms 256 KB
subtask_1_5.txt AC 2 ms 256 KB
subtask_1_6.txt AC 2 ms 256 KB
subtask_1_7.txt AC 2 ms 256 KB
subtask_1_8.txt AC 2 ms 256 KB
subtask_1_9.txt AC 2 ms 256 KB