Problem:
Score : 700 points

Problem Statement

Find the smallest possible sum of the digits in the decimal notation of a positive multiple of K.

Constraints

2 \leq K \leq 10^5

K is an integer.

Input

Input is given from Standard Input in the following format:

K

Output

Print the smallest possible sum of the digits in the decimal notation of a positive multiple of K.

Sample Input 1

6

Sample Output 1

3

12=6×2 yields the smallest sum.

Sample Input 2

41

Sample Output 2

5

11111=41×271 yields the smallest sum.

Sample Input 3

79992

Sample Output 3

36

Solution in C++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int num[76] = {0, 1, 1, 3, 1, 1, 3, 2, 1, 9, 1, 2, 3, 2, 2, 3, 1, 3, 9, 3, 1, 3, 2, 3, 3, 1, 2, 9, 2, 3, 3, 3, 1, 6, 3, 2, 9, 3, 3, 3, 1, 5, 3, 4, 2, 9, 3, 3, 3, 3, 1, 3, 2, 3, 9, 2, 2, 3, 3, 3, 3, 3, 3, 9, 1, 2, 6, 3, 3, 3, 2, 3, 9, 2, 3, 3};

int get(ll x) {
    int sum = 0;
    do {
        sum += x % 10;
        x /= 10;
    } while (x > 0);
    return sum;
}

int main() {
    ios::sync_with_stdio(false);
    ll k;
    cin >> k;
    if (k <= 10) {
        cout << num[k] << endl;
    } else {
        int res = INT_MAX;
        for (ll i = 1; i <= 50000000; i++) {
          	res = min(res, get(k * i));
       	    if (res == 1) {
              	break;
            }
        }
        cout << res << endl;
    }
    return 0;
}