P2345 [USACO04OPEN] MooFest G

题面

约翰的 n 头奶牛每年都会参加“哞哞大会”。

哞哞大会是奶牛界的盛事。集会上的活动很多,比如堆干草,跨栅栏,摸牛仔的屁股等等。

它们参加活动时会聚在一起,第 i 头奶牛的坐标为 xi,没有两头奶牛的坐标是相同的。

奶牛们的叫声很大,第 i 头和第 j 头奶牛交流,会发出
max{vi,vj}×|xixj|
的音量,其中 vivj 分别是第 i 头和第 j 头奶牛的听力。

假设每对奶牛之间同时都在说话,请计算所有奶牛产生的音量之和是多少。

思路

直接暴力模拟 O(n2) 可过。

注意要开 long long!

代码

#include <bits/stdc++.h>
#define int long long
using namespace std;

int n,ans;

struct cow{
	int v,x;
} cows[20005];

int max(int x,int y){
	return x>y?x:y;
}

signed main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cow &ncow = cows[i];
		cin>>ncow.v>>ncow.x;
	}
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++){
			ans+=(max(cows[i].v,cows[j].v)*abs(cows[i].x-cows[j].x));
		}
	}
	cout<<ans<<endl;
	return 0;
}
posted @   蒟蒻xiezheyuan  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示