问题标题: 酷町堂:5464 团体赛-信息学

0
0

0
已采纳
张帆
张帆
中级天翼
中级天翼

你的代码我看不懂唉,

估计是这里出了问题。

if(a[i].k==a[i+1].k){
            a[cnt].v+=a[i].p+a[i+1].p;
        }
        else{
            a[++cnt].v+=a[i].p;
            cnt++;
        }

 

0
汪恺恒
汪恺恒
中级启示者
中级启示者

不需要这么麻烦,这样容易出错

其实一个桶就行了

输入

循环(int i=1;i<=n;i++){
        char a;
        输入>>k>>a>>id>>a>>p;
        b[k]+=p;
} 

之后只需要遍历一下桶找最大值就行了

循环(int i=1;i<=1000;i++){//遍历桶
        如果(maxn<b[i]){
            maxn=b[i];//更新最大分数
            pos=i;//记录是那个团队
        }
    }

 

我要回答