【官方题解】模拟即可
2024-12-10 17:24:58
发布于:浙江
9阅读
0回复
0点赞
【题目大意】
给你一个数组找出任意两组数 使得 分别为最大值和最小值。
Subtask1: 100%
【算法分析】
本题考察循环。
循环遍历分别记录数组中的最大值,最小值,绝对值最大值,绝对值最小值,公式 的最大值为 ,最小值为 。
时间复杂度为 O(n) 。
【参考代码】
#include <bits/stdc++.h>
using namespace std;
int n,a[505];
int main(){
cin>>n;
int x=0,y=500,z=500,w=-500;
for (int i=1;i<=n;i++) {
cin>>a[i];
x=max(x,abs(a[i]));
y=min(y,a[i]);
z=min(z,abs(a[i]));
w=max(w,a[i]);
}
cout<<x-y<<' '<<z-w;
}
这里空空如也
有帮助,赞一个