def increasing(tab):
for i in range(1, len(tab)):
if tab[i] <= tab[i-1]:
return i - 1
return -1
def case4(tab, pos, k):
print("TAK")
left = [str(i + 1) for i in range(max(pos - k, 0, pos + 1))]
ile = k - 1 - pos + 1
right = []
if ile:
right = [str(i + 1) for i in range(pos + 1, pos + 1 + ile)]
print(" ".join(left + right))
def case2(tab):
suf_max = tab[:]
for i in range(len(tab) - 2, 0, -1):
suf_max[i] = max(suf_max[i], suf_max[i + 1])
cur_min = tab[0]
for i in range(len(tab) - 1):
cur_min = min(cur_min, tab[i])
if cur_min >= suf_max[i + 1]:
print("TAK")
print(str(i + 1))
return
print("NIE")
def case3(tab):
pos = 0
for i in range(1, len(tab)):
if tab[i] > tab[pos]:
pos = i
if pos == 0:
print("TAK")
print("1 2")
elif pos < len(tab) - 1:
print("TAK")
print(str(pos)+" "+str(pos + 1))
else:
cur_min = tab[0]
for i in range(len(tab) - 2):
cur_min = min(tab[0], cur_min)
if not (cur_min < tab[i + 1] < tab[pos]):
print("TAK")
print(str(i + 1) + " " + str(i + 2))
return
print("NIE")
def solve(tab, k):
pos = increasing(tab)
if pos < 0:
print("NIE")
return
if k >= 4:
case4(tab, pos, k - 1)
elif k == 3:
case3(tab)
else:
case2(tab)
g = input().split(" ")
line = [int(x) for x in input().split(" ")]
solve(line, int(g[1]))
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 63 64 65 66 67 68 69 | def increasing(tab): for i in range(1, len(tab)): if tab[i] <= tab[i-1]: return i - 1 return -1 def case4(tab, pos, k): print("TAK") left = [str(i + 1) for i in range(max(pos - k, 0, pos + 1))] ile = k - 1 - pos + 1 right = [] if ile: right = [str(i + 1) for i in range(pos + 1, pos + 1 + ile)] print(" ".join(left + right)) def case2(tab): suf_max = tab[:] for i in range(len(tab) - 2, 0, -1): suf_max[i] = max(suf_max[i], suf_max[i + 1]) cur_min = tab[0] for i in range(len(tab) - 1): cur_min = min(cur_min, tab[i]) if cur_min >= suf_max[i + 1]: print("TAK") print(str(i + 1)) return print("NIE") def case3(tab): pos = 0 for i in range(1, len(tab)): if tab[i] > tab[pos]: pos = i if pos == 0: print("TAK") print("1 2") elif pos < len(tab) - 1: print("TAK") print(str(pos)+" "+str(pos + 1)) else: cur_min = tab[0] for i in range(len(tab) - 2): cur_min = min(tab[0], cur_min) if not (cur_min < tab[i + 1] < tab[pos]): print("TAK") print(str(i + 1) + " " + str(i + 2)) return print("NIE") def solve(tab, k): pos = increasing(tab) if pos < 0: print("NIE") return if k >= 4: case4(tab, pos, k - 1) elif k == 3: case3(tab) else: case2(tab) g = input().split(" ") line = [int(x) for x in input().split(" ")] solve(line, int(g[1])) |
English