1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include<iostream>

int main(){
	std::ios_base::sync_with_stdio(0);
	std::cin.tie(0);
	int n, k, b, mn = 1000000001, mx = -1;
	std::cin >> n >> k;
	int* t = new int[n];
	for(int i = 0; i < n; i++) std::cin >> t[i];
	k--;
	if(k>2){
		for(int i = 1; i < n; i++){
			if(t[i] <= t[i-1]){
				std::cout << "TAK";
				b = n-k;
				if(b > i-1) b = i-1;
				for(int j = 0; j < k; j++){
					std::cout << b + j << " ";
				}
				return 0;
			}
		}
		std::cout << "NIE";
		return 0;
	}
	if(k == 2){
		for(int i = 0; i < n; i++){
			mn = mn > t[i] ? t[i] : mn;
			mx = mx < t[i] ? t[i] : mx;
		}
		for(int i = 1; i < n; i++){
			if(t[i] == mn){
				b = n-2;
				if(b > i) b = i;
				std::cout << "TAK\n" << b << " " << b+1;
				return 0;
			}
		}
		for(int i = n-2; i >= 0; i--){
			if(t[i] == mx){
				std::cout << "TAK\n" << i << " " << i+1;
				return 0;
			}
		}
		std::cout << "NIE";
		return 0;
	}
	
	int* u = new int[n];
	for(int i = 0; i < n; i++) u[i] = t[i];
	for(int i = 1; i < n; i++) u[i] = u[i] < u[i-1] ? u[i] : u[i-1];
	for(int i = n-2; i >= 0; i--) t[i] = t[i] > t[i+1] ? t[i] : t[i+1];
	for(int i = 0; i < n-1; i++) if(u[i] >= t[i+1]){
		std::cout << "TAK\n" << i+1 << "\n";
		return 0;
	}
	
	std::cout << "NIE";
	
	
	return 0;
}