hdu 4974

来源:互联网 发布:狙击手幽灵战士2mac版 编辑:程序博客网 时间:2024/05/21 22:40

诶。。。。。其实都是找规律找出来的。。。。不懂为什么。

这是按题解意思做的,原先想的是每次把最大的数挑出来,剩下的数取平均去减,知道剩下两位,取最大。

#include <stdio.h>#define ll __int64#define maxn 100010ll a[maxn];ll max(ll a,ll b){    if(a>b) return a;    else return b;}int main(){    ll t,cas=0;    scanf("%I64d",&t);    while(t--)    {        ll big=0;        ll n;        ll sum=0;        scanf("%I64d",&n);        for(int i=0;i<n;i++)            {                scanf("%I64d",&a[i]);                sum+=a[i];                big=max(big,a[i]);            }        if(sum%2) sum=(sum+1)/2;        else sum/=2;        sum=max(sum,big);        printf("Case #%I64d: %I64d\n",++cas,sum);    }    return 0;}


0 0