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
#include <bits/stdc++.h>
using namespace std;

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	int n, k;
	cin >> n >> k;
	int a[n];
	for(int i = 0; i < n; i++) cin >> a[i];
	bool rosnacy = 1;
	for(int i = 1; i < n; i++){
		if(a[i] <= a[i-1]){
			rosnacy = 0;
			break;
		}
	}
	if(rosnacy) cout << "NIE";
	else if(k == 2){
		int mina[n], maxa[n];
		mina[0] = a[0];
		for(int i = 1; i < n; i++) mina[i] = min(mina[i-1], a[i]);
		maxa[n-1] = a[n-1];
		for(int i = n-2; i >= 0; i--) maxa[i] = max(maxa[i+1], a[i]);
		for(int i = 0; i < n-1; i++){
			if(mina[i] >= maxa[i+1]){
				cout << "TAK\n" << i+1;
				return 0;
			}
		}
		cout << "NIE";
	}else{
		int maxa[n];
		maxa[0] = a[0];
		for(int i = 1; i < n; i++) maxa[i] = max(maxa[i-1], a[i]);
		int search;
		for(int i = n-2; i >= 0; i--){
			if(maxa[i] == maxa[i+1]){
				search = maxa[i];
				break;
			}
		}
		set<int> s;
		for(int i = 0; i < n; i++){
			if(a[i] == search){
				if(i+1 != n) s.insert(i+1);
				if(i) s.insert(i);
				break;
			} 
		}
		int teraz = 1;
		while(s.size() != k-1) s.insert(teraz++);
		cout << "TAK\n";
		for(auto& i : s) cout << i << " ";
	}
	return 0;
}