当前位置: 首页 > article >正文

蓝桥杯3518 三国游戏 | 排序

题目传送门
1


这题的思路很巧妙,需要算出每个事件给三国带来的净贡献(即本国士兵量减其他两国士兵量)并对其排序,根据贪心的原理累加贡献量直到累加结果不大于0。最后对三国的胜利的最大事件数排序取最值即可。


n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
c = list(map(int, input().split()))
# 三国的净士兵量
x = []
y = []
z = []
for i in range(0, n):
    x.append(a[i]-b[i]-c[i])
    y.append(b[i]-c[i]-a[i])
    z.append(c[i]-b[i]-a[i])
sorted_x = sorted(x,reverse=True)
sorted_y = sorted(y,reverse=True)
sorted_z = sorted(z,reverse=True)
sum_x, sum_y, sum_z, cntx, cnty, cntz = 0, 0, 0, 0, 0, 0
for i in range(0, n):
    sum_x += sorted_x[i]
    sum_y += sorted_y[i]
    sum_z += sorted_z[i]
    if sum_x > 0:
        cntx = i+1
    if sum_y > 0:
        cnty = i+1
    if sum_z > 0:
        cntz = i+1
res = max(cntx, cnty, cntz)
if res == 0:
    print(-1)
else:
    print(res)

END✨


http://www.kler.cn/a/519097.html

相关文章:

  • Vue 引入及简单示例
  • 【全栈】SprintBoot+vue3迷你商城(9)
  • 详解磁盘IO调度算法与页高速缓存的搭配
  • Arduino大师练成手册 --控制 OLED
  • 積分方程與簡單的泛函分析8.具連續對稱核的非齊次第II類弗雷德霍姆積分算子方程
  • 全面评测 DOCA 开发环境下的 DPU:性能表现、机器学习与金融高频交易下的计算能力分析
  • C++实现有限元计算 矩阵装配Assembly类
  • Python+OpenCV(1)---傅里叶变换
  • bash: ./xxx: No such file or directory
  • Cesium特效——城市白模的科技动效的各种效果
  • http和ws的区别
  • 【设计模式-行为型】调停者模式
  • libOnvif通过组播不能发现相机
  • 51单片机入门_01_单片机(MCU)概述(使用STC89C52芯片)
  • SpringBoot3+Vue3开发学生选课管理系统
  • CSS 中的 id 和 class 选择器
  • ARM嵌入式学习--第九天(串口通信)
  • 二十三种设计模式-享元模式
  • minikube源码学习
  • 【自然语言处理(NLP)】jieba分词的使用(分词模式、关键词提取)
  • 【BQ3568HM开发板】深入解析智能家居中控屏工程的NAPI接口设计
  • 视觉语言模型 (VLMs):跨模态智能的探索
  • [ACTF2020 新生赛]BackupFile1
  • 【Redis】在ubuntu上安装Redis
  • 每天五分钟深度学习框架pytorch:搭建谷歌的Inception网络模块
  • Elastic Agent 对 Kafka 的新输出:数据收集和流式传输的无限可能性