#include <bits/stdc++.h>
#define gc getchar
#define gcu getchar_unlocked
#define fi first
#define se second
#define pb push_back
#define mod ((ll)1e9 + 7)
typedef long long ll;
using namespace std;
//===============================================================================================
int n;
ll a[10009], b[10009];
//===============================================================================================
int main()
{
scanf("%d", &n);
for (int i = 0, temp; i < n; i++)
{
scanf("%lld", &a[i]);
if (!i)
{
b[i] = a[i];
continue;
}
b[i] = a[i] - a[i - 1];
if (b[i] > b[0])
{
printf("NIE\n");
return 0;
}
}
for (int i = 0; i < n; i++)
{
ll sum = 0, maxsum = LLONG_MIN;
for (int j = 0; j < i; j++)
sum += b[j];
for (int j = i; j < n; j++)
{
sum += b[j];
maxsum = max(maxsum, sum);
sum -= b[j - i];
}
if (maxsum != a[i])
{
printf("NIE\n");
return 0;
}
}
printf("TAK\n%d\n", n);
for (int i = 0; i < n; i++)
printf("%lld ", b[i]);
}
//===============================================================================================
// 4
// 3 4 5 -1
// 10
// 3 1 4 1 5 9 2 6 5 3
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 | #include <bits/stdc++.h> #define gc getchar #define gcu getchar_unlocked #define fi first #define se second #define pb push_back #define mod ((ll)1e9 + 7) typedef long long ll; using namespace std; //=============================================================================================== int n; ll a[10009], b[10009]; //=============================================================================================== int main() { scanf("%d", &n); for (int i = 0, temp; i < n; i++) { scanf("%lld", &a[i]); if (!i) { b[i] = a[i]; continue; } b[i] = a[i] - a[i - 1]; if (b[i] > b[0]) { printf("NIE\n"); return 0; } } for (int i = 0; i < n; i++) { ll sum = 0, maxsum = LLONG_MIN; for (int j = 0; j < i; j++) sum += b[j]; for (int j = i; j < n; j++) { sum += b[j]; maxsum = max(maxsum, sum); sum -= b[j - i]; } if (maxsum != a[i]) { printf("NIE\n"); return 0; } } printf("TAK\n%d\n", n); for (int i = 0; i < n; i++) printf("%lld ", b[i]); } //=============================================================================================== // 4 // 3 4 5 -1 // 10 // 3 1 4 1 5 9 2 6 5 3 |
English