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
#include <iostream>
using namespace std;

int tab[307];
long long maxstan[100007];

long long INF = 1000000000000;

int main() {
	
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	
	int n;
	cin>>n;
	
	for (int i = 1; i <= n; i++) {
		cin>>tab[i];
	}
	
	for (int i = 1; i <= n; i++) {
		maxstan[i] = INF;
	}
	
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n && i - j >= 0; j++) {
			maxstan[i] = min(maxstan[i], maxstan[i - j] + (long long)(tab[j]));
		}
		if (maxstan[i] < tab[i]) {
			cout<<"NIE\n";
			return 0;
		}
	}
	cout<<"TAK\n";
	cout<<n<<"\n";
	for (int i = 1; i <= n; i++) {
		cout<<maxstan[i] - maxstan[i - 1]<< " ";
	}
}