81
l1=list(map(int,input().split()))
l2=[]
for i in range(len(l1)):
m=l1[0]
index=0
for j in range(len(l1)):
if m>=l1[j]:
m=l1[j]
index=j
l2.append(l1[index])
del l1[index]
print (l2)
82
l=list(map(int,input().split()))
n=len(l)
if n%2==0:
print ((l[n//2-1]+l[n//2])/2)
else:
print (l[n//2])
83
'''83,输入N,再输入N个整数,将他们排序和去重后输出。输出时先输出去重后的个数,然后按从小到大输出。
输入
10
20 40 32 67 40 20 89 300 400 15
输出
8
15 20 32 40 67 89 300 400
'''
N=int(input("请输入整数N:"))
l=list(map(int,input("请输入数列:").split()))
l2=[]
for j in range(N):
for i in range(N):
_min=l[j]
if l[i]<_min :
_min =l[i]
l2.append(_min)
l.remove(_min)
print (l2)
84
'''84,有n名同学陆陆续续进入教室。我们知道每名同学的学号按进教室的顺序给出。上课了,老师想知道第 i 个进入教室的同学的学号是什么
(最先进入教室的同学 i=1)
输入格式
第一行 2 个整数 n 和 m,表示学生个数和询问次数。接下来n行 输入n 个整数,表示按顺序进入教室的学号。接下来m行输入 m 个整数,
表示询问第几个进入教室的同学。
输出格式
m 个整数表示答案,用换行隔开。
输入
10 3
1 9 2 60 8 17 11 4 5 14 #换行
1 5 9 #换行
输出
1
8
5
'''
n,m=map(int ,input().split())
l1=[]
l2=[]
for i in range(n):
l1.append(int(input()))
for j in range(m):
l2.append(int(input()))
for z in range(m):
print(l1[l2[z]-1])
85
'''85,最近有 n 个不爽的事,每句话都有一个正整数刺痛值(心理承受力极差)。爱与愁大神想知道连续 m 个刺痛值的和的最小值是多少,但是由于业务
繁忙,爱与愁大神只好请你编个程序告诉他。
输入格式
第一行,输入两个用空格隔开的整数,分别代表 n 和 m。第 2 到第 (n + 1) 行,每行一个整数,第 (i + 1)行的整数 a[i]代表第 i 件事的刺痛值 a[i]。
输出格式
输出一行一个整数,表示连续 m 个刺痛值的和的最小值是多少。
输入输出样例
输入
8 3
1 4 7 3 1 2 4 3 #换行
输出
6
'''
n,m=map(int,input("请输入n和m:").split())
a=[]
b=[]
for i in range(n):
a.append(int(input()))
for j in range(n-2):
num=0
for z in range(j,j+m):
num+=a[z]
b.append(num)
print (min(b))
86
'''86,人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。
参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,
而且任意两只鱼的可爱程度可能一样。由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度,它们心里都在计算,
在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮这些可爱但是鱼脑不够用的小鱼们计算一下。
第一行输入一个整数 n,表示鱼的数目。
接下来n行,输入 n 个整数,依次表示从左到右每只小鱼的可爱程度。
输出 n 个整数,用空格间隔,依次表示每只小鱼眼中有多少只鱼不如自己可爱。
输入输出样例
输入
6
4 3 0 5 1 2 #换行
输出
0 0 0 3 1 2
'''
l1=[]
l2=[]
n=int(input())
for i in range (n):
l1.append(int(input()))
for j in range(n):
num=0
for z in range(j+1):
if l1[z]<l1[j]:
num+=1
l2.append(num)
print(l2)
87
'''87,现有N名同学参加了期末考试,并且获得了每名同学的信息:语文、数学、英语成绩(均为不超过 150 的自然数)。
如果某对学生 <i,j> 的每一科成绩的分差都不大于 5,且总分分差不大于 10,那么这对学生就是“旗鼓相当的对手”。现在想知道这些同学中,
有几对“旗鼓相当的对手”?同样一个人可能会和其他好几名同学结对。
第一行一个正整数 N。
接下来 N 行,每行三个整数,其中第 i 行表示第 i 名同学的语文、数学、英语成绩。最先读入的同学编号为 1。
输出格式
输出一个个整数,表示“旗鼓相当的对手”的对数。
输入
3
90 90 90
85 95 90
80 100 91
输出
2
'''
num=0
n=int(input("请输入学生的个数:"))
arr=[]
for i in range(n):
arr.append([])
for i in range(n):
arr[i]=list(map(int,input().split()))
for i in range(n):
for j in range(i+1,n):
if abs( arr[i][0]-arr[j][0])<=5 and abs( arr[i][1]-arr[j][1])<=5 and abs( arr[i][2]-arr[j][2])<=5:
if abs(arr[i][0]+arr[i][1]+arr[i][2]-(arr[j][0]+arr[j][1]+arr[j][2]))<=10:
num+=1
print(num)
88—1
'''88,n个人围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……依次类推,
直到所有的人都出圈,请输出依次出圈人的编号.
输入
n m
输出
出圈的编号
样例输入
10 3
样例输出
3 6 9 2 7 1 8 5 10 4
'''
n,m=map(int,input().split())
list=[0 for i in range(n)]
k=0
count=0
while count!=n:
for i in range(n):
if list[i]==0:
k+=1
if k==m:
print(i+1,end=" ")
k=0
list[i]=1
count+=1
88—2
'''88,n个人围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,
数到m的人再出圈,……依次类推,
直到所有的人都出圈,请输出依次出圈人的编号.
输入
n m
输出
出圈的编号
样例输入
10 3
样例输出
3 6 9 2 7 1 8 5 10 4
'''
n,m=map(int,input().split())
l=[0]*n
count=0
k=0
while count !=n:
for i in range(n):
if l[i]==0:
k+=1
if k==m:
print (k+1,end='')
k=0
l[i]=1
count+=1
88—3
'''88,n个人围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,
数到m的人再出圈,……依次类推,
直到所有的人都出圈,请输出依次出圈人的编号.
输入
n m
输出
出圈的编号
样例输入
10 3
样例输出
3 6 9 2 7 1 8 5 10 4
'''
n,m=map(int,input().split())
l=[0]*n
k=0
count=0
while count !=n:
for i in range(n):
if l[i]==0:
k+=1
if k==m:
print (i+1,end=' ')
k=0
l[i]=1
count+=1
89
'''89,对于一个长度为n的整数序列,如果序列中两个相邻元素之间的差的绝对值包含了1到n-1之间的所有整数(包括1 和n-1)。
我们则称该序列符合“跳跃序列”规则。例如:1 4 2 3 就符合“跳跃序列”规则。因为该序列长度为4,相邻元素的差的绝对值分别为:3 2 1,
包含了1 到3 的所有整数。提示:1-4 的绝对值为3、4-2 的绝对值为2、2-3 的绝对值为1。现给定m 个整数序列,请判断这m 个序列是否满足
“跳跃序列”规则。如果满足则输出Yes, 否则输出No。
输入第1 行:m n
接下来的m个n 行,每n行为n 个整数组成的序列
输出
共m行,若序列满足“跳跃序列”规则则输出Yes,否则输出No;每行一个
样例输入
2 3
1 2 3 #换行
4 2 1 #换行
样例输出
No
Yes
'''
m,n=map(int,input(" 请输入m和n:").split())
l1=[]
for i in range(m):
l1.append(list(map(int,input().split())))
for i in range(m):
l2=list(range(1,n))
for j in range(n-1):
if abs(l1[i][j]-l1[i][j+1]) in l2:
l2.remove(abs(l1[i][j]-l1[i][j+1]))
if len(l2)==0:
print ("YES")
else:
print("NO")
90
'''90,森林的道路上从0到L每个编号所在的位置都有1棵树。破坏大王光头强每次从编号A到B处(包含A、B)依次砍掉每1棵树,
就连小树苗也不放过;身为环保卫士的熊氏兄弟实在看不下去了,于是他们每次从编号C到D处(包含C、D)凡是有空穴
(1、树被砍 2、补种上的树苗又被砍掉)的地方都依次补种上树苗。求该条道路上最终会留下多少颗树和补种后又被拔掉的树苗数目。
在输入中我们使用0表示光头强的砍树动作,1表示熊氏兄弟的种树动作。例如:0 11 21 表示光头强砍
掉了从编号11到编号21处所有的树1 2 50 表示熊氏兄弟在编号2到50的所有空穴都种上了树
输入
第1行L和N (L表示道路上原来有L+1棵树,N表示有N次砍树或种树动作;L和N用空格隔开)
接下来的N行,每行有3个整数a b c(a取值为0表示砍树,取值为1表示种树;b c表示种树或砍树的范围且 b <= c)
输出
共两个整数第1个整数输出道路上最终会留下多少颗树(包括树和树苗)第2个整数输出补种上又被砍掉的树苗数目
样例输入
10 3
0 2 6
1 1 8
0 5 7
样例输出
8 2
'''
L,N=map(int,input("请输入L和N:").split())
tree_l=[1]*(L+1)
act_l=[]
num=0
for i in range(N):
act_l.append([])
for i in range(N):
act_l[i]=list(map(int,input().split()))
for i in range(N):
if act_l[i][0]==0:
for z in range(act_l[i][1],act_l[i][2]+1):
if tree_l[z]==2:
num+=1
tree_l[z]=0
else:
tree_l[z]=0
else:
for j in range(act_l[i][1],act_l[i][2]+1):
if tree_l[j]==0:
tree_l[j]=2
print(tree_l)
print(num)