站外题 贪心 玄关
  • 板块灌水区
  • 楼主OIer_DFLJ
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/28 19:23
  • 上次更新2024/12/28 22:14:10
查看原帖
站外题 贪心 玄关
1228191
OIer_DFLJ楼主2024/12/28 19:23

蛋糕店出售 N 种不同的蛋糕。每种蛋糕都有"外观值","美味值","人气值"三种属性,第 i 种蛋糕的外观值为 x [i] ​ ,美味值为 y [i] ​ ,人气值为 z [i] ​ 。(这些值可能小于 0 )。 小猴想要吃 M 种蛋糕,每种 1个。他想要吃到的蛋糕的(外观值总和的绝对值)+(美味值总和的绝对值)+(人气值总和的绝对值)最大。输出这个最大值。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
#define int long long
int x[1001],y[1001],z[1001],a[1001];
bool cmp(int x,int y)
{
	return x>y;
}
signed main(){
	int n,m;
	cin>>n>>m;
	for(int i=1; i<=n; i++)
	{
		cin>>x[i]>>y[i]>>z[i];
		a[i]=max(x[i]+y[i]+z[i],max(x[i]+y[i]-z[i],max(x[i]-y[i]+z[i],max(-x[i]+y[i]+z[i],max(-x[i]-y[i]+z[i],max(x[i]-y[i]-z[i],max(-x[i]+y[i]-z[i],-x[i]-y[i]-z[i])))))));
	}
	int ans=0;
	sort(a+1,a+n+1,cmp);
	for(int i=1; i<=m; i++)
	{
		ans+=a[i];
	}
	cout<<ans;
	return 0;
}

2024/12/28 19:23
加载中...