三国游戏(贪心 & 排序)

三国游戏

利用贪心、排序、前缀和的计算方法,特别注意不要数据溢出了,sum 加long long

bash 复制代码
s[i] = x[i]-y[i]-z[i]

输入:

bash 复制代码
3
1 2 2
2 3 2
1 0 7

输出:

bash 复制代码
2
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

const int N = 1e5+100;

typedef long long ll;

bool cmp(int x,int y)
{
	return x>y;
}

int a[N],b[N],c[N];
int s[N];
int n;

int get_ans(int x[],int y[],int z[])
{
	int ans = 0;
	ll sum = 0;
	
	//memset(s,0,sizeof(s));
	
	for(int i=1;i<=n;i++)
	{
		s[i] = x[i]-y[i]-z[i];
	}
	
	sort(s+1,s+n+1,cmp);
	  
	for(int i=1;i<=n;i++)
	{
		sum+=s[i];
		if(sum>0) ans++;
        else break;
	}
	
	if(ans == 0) return -1;
	return ans;
}

int main(){
	cin>>n;
	
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=1;i<=n;i++) cin>>b[i];
	for(int i=1;i<=n;i++) cin>>c[i];
	
	int ans_a = get_ans(a,b,c);
	int ans_b = get_ans(b,a,c);
	int ans_c = get_ans(c,a,b);
	
	int ans = max(ans_a,max(ans_b,ans_c));
	
	printf("%d\n",ans);
		
	return 0;
}

Debug:

相关推荐
Ricky_Theseus2 分钟前
并查集:连通性问题
算法
Tairitsu_H34 分钟前
[LC优选算法#18] 前缀和 | 除⾃⾝以外数组的乘积 | 和为K的⼦数组 | 和可被K整除的⼦数组
算法·前缀和·哈希算法
凯瑟琳.奥古斯特1 小时前
力扣1008:前序重建BST
开发语言·c++·算法·leetcode·职场和发展
aqiu1111112 小时前
【算法日记 13】LeetCode 49. 字母异位词分组:哈希表的进阶“降维打击”
算法·leetcode·散列表
KaMeidebaby2 小时前
卡梅德生物技术快报|纳米抗体技术全套实操流程:AFB1 全合成文库淘选 + 分子对接定点突变参数手册
人工智能·python·tcp/ip·算法·机器学习
巴糖3 小时前
从做早餐理解 DAG 与拓扑排序:任务依赖图的核心逻辑
算法
2601_962851743 小时前
计算机毕业设计之基于YOLOV10的低光照目标检测算法研究与实现
大数据·算法·yolo·目标检测·信息可视化·cnn·课程设计
magicwt3 小时前
快手自动出价论文GAVE阅读笔记
算法
智者知已应修善业3 小时前
【P12159蓝桥杯数组翻转】2025-4-24
c语言·c++·经验分享·笔记·算法·蓝桥杯
tkevinjd3 小时前
力扣73矩阵置零
java·算法·面试·职场和发展