1 solutions
-
3
从前往后遍历整个序列,如果当前数比最大值大,那么当前数就是最大值,已经的最大值就变成了次大值,否则如果当前数大于次大值,那么就只更新次大值
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int maxv1=0,maxv2=0; for(int i=1;i<=n;i++) { int x; cin>>x; if(x>maxv1) //当前数比最大值大,更新最大值和次大值 { maxv2=maxv1,maxv1=x; } else if(x>maxv2) //当前数比次大值大,更新次大值 { maxv2=x; } } cout<<maxv1<<" "<<maxv2; return 0; }
- 1
Information
- ID
- 2138
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 60
- Accepted
- 26
- Uploaded By