[USACO18OPEN] Out of Sorts S
题目描述
留意着农场之外的长期职业生涯的可能性,奶牛Bessie开始在不同的在线编程网站上学习算法。
她到目前为止最喜欢的算法是“冒泡排序”。这是Bessie的对长度为 N N N的数组 A A A进行排序的奶牛码实现。
sorted = false
while (not sorted):
sorted = true
moo
for i = 0 to N-2:
if A[i+1] < A[i]:
swap A[i], A[i+1]
sorted = false
显然,奶牛码中的“moo”指令的作用只是输出“moo”。奇怪的是,Bessie看上去执着于在她的代码中的不同位置使用这个语句。
给定一个输入数组,请预测Bessie的代码会输出多少次“moo”。
输入格式
输入的第一行包含 N N N( 1 ≤ N ≤ 100 , 000 1 \leq N \leq 100,000 1≤N≤100,000)。接下来 N N N行描述了 A [ 0 ] … A [ N − 1 ] A[0] \ldots A[N-1] A[0]…A[N−1],每个数都是一个范围为 0 … 1 0 9 0 \ldots 10^9 0…109的整数。输入数据不保证各不相同。
输出格式
输出“moo”被输出的次数。
样例 #1
样例输入 #1
5
1
5
3
8
2
样例输出 #1
4
提示
供题:Brian Dean
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容