NC14523. 求最大值
描述
输入描述
本题包含多组输入,每组输入第一行一个数字n,表示序列的长度。
然后接下来一行输入n个数,表示原先序列的样子。
数据范围:
3<=n<=200000
-1000000000<=a[i]<=1000000000
输出描述
每组数据输出一行一个浮点数,保留两位小数,表示所求的最大值。
示例1
输入:
5 2 4 6 8 10
输出:
2.00
C++11(clang++ 3.9) 解法, 执行用时: 192ms, 内存消耗: 4324K, 提交时间: 2018-05-29 21:51:19
#include<iostream> #include<math.h> using namespace std; int main() { int n; while(cin>>n) { long long int a,b; float Max=-999999999 ; cin>>a ; for(int i=1;i<n;i++) {cin>>b ; float n=(b-a); Max=max(n,Max) ; a=b ; } printf("%.2f\n" ,Max); } return 0; }
Python3 解法, 执行用时: 467ms, 内存消耗: 25380K, 提交时间: 2022-11-25 15:22:07
while True: try: n = int(input()) lst = [int(i) for i in input().split()] res = -10000000 for j in range(1,n): res = max(res,(lst[j]-lst[j-1])) print("%.2f"%res) except: break
C++14(g++5.4) 解法, 执行用时: 482ms, 内存消耗: 4244K, 提交时间: 2019-12-13 22:40:12
#include<bits/stdc++.h> using namespace std; int main(){ double n,a,b; while(cin>>n>>a){ double ans=-1e9-5; for(int i=1;i<n;i++){ cin>>b; ans=max(ans,b-a); a=b;} printf("%.2lf\n",ans); } }