三国游戏(贪心 & 排序)

三国游戏

利用贪心、排序、前缀和的计算方法,特别注意不要数据溢出了,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:

相关推荐
gihigo19988 小时前
matlab 基于瑞利衰落信道的误码率分析
算法
foxsen_xia9 小时前
go(基础06)——结构体取代类
开发语言·算法·golang
foxsen_xia9 小时前
go(基础08)——多态
算法·golang
leoufung9 小时前
用三色 DFS 拿下 Course Schedule(LeetCode 207)
算法·leetcode·深度优先
im_AMBER10 小时前
算法笔记 18 二分查找
数据结构·笔记·学习·算法
C雨后彩虹10 小时前
机器人活动区域
java·数据结构·算法·华为·面试
MarkHD10 小时前
车辆TBOX科普 第53次 三位一体智能车辆监控:电子围栏算法、驾驶行为分析与故障诊断逻辑深度解析
算法
苏小瀚11 小时前
[算法]---路径问题
数据结构·算法·leetcode
月明长歌11 小时前
【码道初阶】一道经典简单题:多数元素(LeetCode 169)|Boyer-Moore 投票算法详解
算法·leetcode·职场和发展
春卷同学11 小时前
足球游戏 - Electron for 鸿蒙PC项目实战案例
游戏·electron·harmonyos