- 飞船 202602saccc三级T5
- @ 2026-04-12 07:55:27
#include<bits/stdc++.h>
using namespace std;
int n,a[137891],t;
double sj;
int main()
{
while (cin>>n)
{
for (int i=1;i<=n;i++)
{
cin>>a[i];
}
if (n<=2)
{
cout<<min(a[1],a[2]);
}
else
{
int hmax=0,xb,sum=0;
for (int i=1;i<=n;i++)
{
if (a[i]>hmax)
hmax=a[i],xb=i;
}
for (int i=1;i<=n;i++)
{
if (i==xb)
continue;
sum+=a[i];
}
if (sum>=hmax)
{
for (int i=1;i<=n;i++)
{
sj+=a[i];
}
cout<<fixed<<setprecision(1)<<sj/2.0<<endl;
}
else
{
for (int i=1;i<=n;i++)
{
sj+=a[i];
}
sj-=hmax;
cout<<fixed<<setprecision(1)<<sj/2<<endl;
}
}
}
return 0;
}
样例第一个输出的是整数不是小数,怎么回事
1 条评论
-
202603zj11张轩铭 (张轩铭) LV 7 @ 2026-04-12 20:13:31
找出最大的 然后和其他的总和比较 如果最大的大于其他的总和 那么直接输出其他的总和
否则输出所有总和的一半
- 1
信息
- ID
- 3067
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 17
- 已通过
- 1
- 通过率
- 6%
- 上传者