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;

int flg[100009] = {};

int main(){
	
	int k;
	cin>>k;
	deque<int>DQ;
	DQ.push_back(1);
	flg[1]=1;
	while(1){
		deque<int>::iterator it = DQ.begin();
		int tmp = *it;
		DQ.pop_front();
		
		if(tmp%k==0){
			cout<<flg[tmp%k]<<endl;
			return 0;
		}
		
		if(flg[(tmp+1)%k]==0){
			DQ.push_back((tmp+1)%k);
			flg[(tmp+1)%k]=flg[tmp] + 1;
		}
		if(flg[(tmp*10)%k]==0){
			DQ.push_front((tmp*10)%k);
			flg[(tmp*10)%k]=flg[tmp];
		}
		
	}
	
	
	return 0;
}