90分求助,WA #1
查看原帖
90分求助,WA #1
366254
dxy2020楼主2022/4/26 18:01
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <vector>
#include <map>
#include <queue>
using namespace std;
inline void in(int &x){
	int f=1;x=0;char c=getchar();
	while (c>'9'||c<'0'){if (c=='-') f=-1;c=getchar();}
	while (c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
	x*=f;
}
long long l,ans;
int n,sum;
long long x[100005];
int r[100005];
signed main(){
	scanf ("%lld",&l);in (n);
	for (int i=1;i<=n;++i){
		scanf ("%lld",x+i);in (r[i]);
		sum+=r[i];	
	}
	int i,k=sum/2+1;
	for (i=1;k>=0;++i)
		k-=r[i];
	--i;
	for (int j=1;j<=n;++j){
		ans+=1ll*r[j]*abs(x[i]-x[j]);
	}
	printf ("%lld\n",ans);
	return 0;
}

2022/4/26 18:01
加载中...