Problem: p03318
Buggy submission (Python (3.4.3), verdict: Wrong Answer):


K = int(input())


Sunuke = [1, 2, 3, 4, 5, 6, 7, 8]


if K <= len(Sunuke):
    for i in range(K):
        print(Sunuke[i])

else:
    
    resi = K - len(Sunuke)
    
    digit = 1

    while resi > 0:
        
        for i in range(1, 10):
            num = i * (10**digit) - 1
            Sunuke.append(num)

            resi -= 1
            
            

        digit += 1


for i in range(K):
    print(Sunuke[i])

Failing test case input:
175

Expected output:
1
2
3
4
5
6
7
8
9
19
29
39
49
59
69
79
89
99
199
299
399
499
599
699
799
899
999
1099
1199
1299
1399
1499
1599
1699
1799
1899
1999
2999
3999
4999
5999
6999
7999
8999
9999
10999
11999
12999
13999
14999
15999
16999
17999
18999
19999
20999
21999
22999
23999
24999
25999
26999
27999
28999
29999
39999
49999
59999
69999
79999
89999
99999
109999
119999
129999
139999
149999
159999
169999
179999
189999
199999
209999
219999
229999
239999
249999
259999
269999
279999
289999
299999
309999
319999
329999
339999
349999
359999
369999
379999
389999
399999
499999
599999
699999
799999
899999
999999
1099999
1199999
1299999
1399999
1499999
1599999
1699999
1799999
1899999
1999999
2099999
2199999
2299999
2399999
2499999
2599999
2699999
2799999
2899999
2999999
3099999
3199999
3299999
3399999
3499999
3599999
3699999
3799999
3899999
3999999
4099999
4199999
4299999
4399999
4499999
4599999
4699999
4799999
4899999
4999999
5999999
6999999
7999999
8999999
9999999
10999999
11999999
12999999
13999999
14999999
15999999
16999999
17999999
18999999
19999999
20999999
21999999
22999999
23999999
24999999
25999999
26999999
27999999
28999999
29999999
30999999
31999999


Actual output:
1
2
3
4
5
6
7
8
9
19
29
39
49
59
69
79
89
99
199
299
399
499
599
699
799
899
999
1999
2999
3999
4999
5999
6999
7999
8999
9999
19999
29999
39999
49999
59999
69999
79999
89999
99999
199999
299999
399999
499999
599999
699999
799999
899999
999999
1999999
2999999
3999999
4999999
5999999
6999999
7999999
8999999
9999999
19999999
29999999
39999999
49999999
59999999
69999999
79999999
89999999
99999999
199999999
299999999
399999999
499999999
599999999
699999999
799999999
899999999
999999999
1999999999
2999999999
3999999999
4999999999
5999999999
6999999999
7999999999
8999999999
9999999999
19999999999
29999999999
39999999999
49999999999
59999999999
69999999999
79999999999
89999999999
99999999999
199999999999
299999999999
399999999999
499999999999
599999999999
699999999999
799999999999
899999999999
999999999999
1999999999999
2999999999999
3999999999999
4999999999999
5999999999999
6999999999999
7999999999999
8999999999999
9999999999999
19999999999999
29999999999999
39999999999999
49999999999999
59999999999999
69999999999999
79999999999999
89999999999999
99999999999999
199999999999999
299999999999999
399999999999999
499999999999999
599999999999999
699999999999999
799999999999999
899999999999999
999999999999999
1999999999999999
2999999999999999
3999999999999999
4999999999999999
5999999999999999
6999999999999999
7999999999999999
8999999999999999
9999999999999999
19999999999999999
29999999999999999
39999999999999999
49999999999999999
59999999999999999
69999999999999999
79999999999999999
89999999999999999
99999999999999999
199999999999999999
299999999999999999
399999999999999999
499999999999999999
599999999999999999
699999999999999999
799999999999999999
899999999999999999
999999999999999999
1999999999999999999
2999999999999999999
3999999999999999999
4999999999999999999
5999999999999999999
6999999999999999999
7999999999999999999
8999999999999999999
9999999999999999999
19999999999999999999
29999999999999999999
39999999999999999999
49999999999999999999


Fixed submission (verdict: Accepted):


K = int(input())

Sunuke = [1, 2, 3, 4, 5, 6, 7, 8, 9]

def ns(n):
    return n / sum(map(int, list((str(n)))))


if K <= len(Sunuke):
    for i in range(K):
        print(Sunuke[i])

else:
    
    resi = K - len(Sunuke)
    
    digit = 0
    snk = 9

    while resi > 0:
        nxt1 = snk + 10**digit
        nxt2 = snk + 10**(digit+1)

        
        if ns(nxt1) > ns(nxt2):
            digit +=1
            snk = nxt2
            Sunuke.append(snk)
            resi -= 1
        else:
            snk = nxt1
            Sunuke.append(snk)
            resi -= 1


for i in range(K):
    print(Sunuke[i])