2 条题解
-
2
本题只需要去平均值-当前的值的绝对值最小的数即可
#include <bits/stdc++.h> using namespace std; double ans, minn = 9999999; int main() { int n, a[1005], pos; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; ans += a[i]; } ans /= n * 1.0; for (int i = 1; i <= n; i++) { if (abs(ans - a[i]) < minn) { minn = abs(ans - a[i]); pos = a[i]; } } cout << pos; return 0; }
-
1
#include <iostream> using namespace std; int main() { double sum=0; int n,a[1005]; cin >> n; for(int i=1;i<=n;i++) { cin >> a[i]; sum+=a[i]; } double cha=987996,p; int c; p=sum/n; for(int i=2;i<=n;i++) { if(p>a[i]) { if(p-a[i]<cha) { cha=p-a[i]; c=a[i]; } } else { if(a[i]-p<cha) { cha=a[i]-p; c=a[i]; } } } cout << c; }
- 1
信息
- ID
- 582
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 42
- 已通过
- 29
- 上传者