题解 P5094 【[USACO2004OPEN]MooFest 狂欢节】
大水题,纯模拟.
#include<bits/stdc++.h>
using namespace std;
long long n,v[20001],x[20001],ans=0;
inline long long read()//快读
{
long long res=0;
long long fl=1;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-') fl=-1;
ch=getchar();
}
while(isdigit(ch)){
res=res*10+ch-'0';
ch=getchar();
}
return fl*res;
}
int main(){
n=read();
for(register int i=1;i<=n;i++)
v[i]=read(),x[i]=read();
for(register int i=1;i<=n;i++){
for(register int j=i+1;j<=n;j++){//逐个向后递进
ans+=max(v[i],v[j])*(abs(x[i]-x[j]));//按题意累加即可
}
}
printf("%lld\n",ans);//输出
return 0;
}