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;

const int INF=1e8;

int main(){
    int k;
    cin>>k;
    vector<int> dist(k,INF);
    dist[1]=1;
    deque<int> que;
    que.push_front(1);
    while(!que.empty()){
        int v=que.front();
        que.pop_front();
        int forward=(v+1)%k;
        if(dist[forward]==INF){
            dist[forward]=dist[v]+1;
            que.push_back(forward);
        }
        int jump=(v*10)%k;
        if(dist[jump]==INF){
            dist[jump]=dist[v];
            que.push_front(jump);
        }
    }
    cout<<dist[0]<<endl;
    return 0;
}