为什么把前缀和用int存就WA,用long long存就过
查看原帖
为什么把前缀和用int存就WA,用long long存就过
667000
manstain楼主2024/4/7 11:32
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
int n,a[100005];
int main(){
	scanf("%d",&n);
	if(n==1){
		printf("%d",0);
		return 0;
	}
	for(int i=1;i<=n;i++){
		scanf("%d",a+i);
	}
	ll ans=0;
	int w1=a[1];
	for(int i=2;i<=n;i++){
		ans+=w1*a[i];
	    w1+=a[i];
	}
	printf("%lld",ans);
	return 0;
}

n≤105,wi≤1000n \le10^5,w_i \le 1000,总共不超过10810^8,离int上限还差一半呢

2024/4/7 11:32
加载中...