24pts看这里
查看原帖
24pts看这里
1217960
mugglelll楼主2024/5/22 22:45
typedef long long LL;

LL sum=0;
        for(int j=1;j<=n;j++){
            if(dist1[j]>=0x3f3f3f3f/2){
                sum+=j*1e9;
                continue;
            }
            sum+=j*(dist1[j]-dist[i]+dist[j]);
        }
        cout<<sum<<endl;

假如类似这个代码,如果是24pts,


  1. 一种是讨论区已经说过的这个+=右面的表达式没有一个是long long类型,所以没有升到long long进行计算导致的溢出,解决办法就是右边表达式搞个long long类型,不再赘述.

  2. 另一种就是 :看看自己的sum+=j*1e9这里,可能写成了是sum+=1e9,没有乘于j.

(我不会告诉你我眼神不好,忘了乘于j了?‍♂️

2024/5/22 22:45
加载中...