首页 > 编程语言 >蓝桥杯备考冲刺必刷题(C++) | 3250 最大的卡牌价值

蓝桥杯备考冲刺必刷题(C++) | 3250 最大的卡牌价值

时间:2024-06-16 09:33:18浏览次数:40  
标签:数字 3250 正面 卡牌 蓝桥 int ans 朝上

学习C++从娃娃抓起!记录下蓝桥杯备考比赛学习过程中的题目,记录每一个瞬间。

附上汇总贴:蓝桥杯备考冲刺必刷题(C++) | 汇总-CSDN博客


【题目描述】
给定 n n n副卡牌,每张卡牌具有正反面,正面朝上数字为 a i a_i ai​,背面朝上数字为 b i b_i bi​。一副卡牌的价值为正面朝上数字之和。一开始所有卡牌都是正面朝上的。小蓝是蓝桥学院最优秀的魔法师,他知道所有卡牌的背面数字 b i b_i bi​,他最多可以进行 k k k次操作,每次可以将一副卡牌翻转,将正面朝上的数字变为背面朝上的数字,或将背面朝上的数字变为正面朝上的数字。请问,小蓝最多可以使卡牌的价值之和为多少?
【输入】
第一行输入两个整数 n n n和 k k k,表示卡牌的数量和小蓝可以操作的次数。
第二行输入 n n n个整数 a i a_i ai​,表示所有卡牌正面的数字。
第三行输入 n n n个整数 b i b_i bi​,表示所有卡牌反面的数字。
【输出】
输出一个整数,表示可以得到的卡牌的最大价值和。
【输入样例】

3 1
1 2 3
3 2 1

【输出样例】

8

【代码详解】
[图片]

#include <bits/stdc++.h>
using namespace std;
#define int long long
int n, k, ans, maxn=-1e9;
struct node {
    int a, b, c;
}p[100005];
bool cmp(node x, node y) 
{
    return x.c > y.c;
}
signed main()
{
    cin >> n >> k;
    for (int i=1; i<=n; i++) {  // 输入卡牌正面数字
        cin >> p[i].a;
        ans += p[i].a;  // 计算正面卡牌价值总和
    }
    for (int i=1; i<=n; i++) {  // 输入卡牌背面数字
        cin >> p[i].b;
        p[i].c = p[i].b - p[i].a;  // 计算背面与正面的数字差
    }
    sort(p+1, p+n+1, cmp);  // 按照数字差的从大到小排序
    for (int i=1; i<=min(k, n); i++) {  // 贪心策略,优先考虑反转数字差较大的卡牌
        ans -= p[i].a;
        ans += p[i].b;
        maxn = max(maxn, ans);  // 每翻一张牌比较下最大值
    }
    cout << maxn << endl;  // 输出最大值和
    return 0;
}

【运行结果】

3 1
1 2 3
3 2 1
8

标签:数字,3250,正面,卡牌,蓝桥,int,ans,朝上
From: https://blog.csdn.net/guolianggsta/article/details/136708173

相关文章

  • 洛谷P8807 [蓝桥杯 2022 国 C] 取模
    题目:解读(思路与分析):题目总结:对于给定的整数n和范围m,要找到两个不同的x和y,它们除以n后的余数相等。思路:对于每组给出的n,m询问,可以通过遍历范围从1到m的所有可能的j,并计算n对j取模的余数。使用一个集合来存储已经出现过的余数,如果当前余数已经存在于集......
  • 116. 小欧的卡牌(卡码网周赛第十七期(23年oppo提前批B组笔试真题))
    116.小欧的卡牌(卡码网周赛第十七期(23年oppo提前批B组笔试真题))题目描述小欧有n张卡牌,第i张卡牌的正面写了个数字ai,背面写了个数字bi。小欧对于每张卡牌可以选择一面向上,她希望最终向上的数字之和为3的倍数。你能告诉小欧有多少方案吗?由于答案过大,请对10^9+7......
  • 第十一届蓝桥杯大赛软件类决赛 Java A 组
    文章目录发现宝藏【考生须知】发现宝藏前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。第十一届蓝桥杯大赛软件类决赛JavaA组【考生须知】考试开始后,选手首先下载题目,并使用考场现场公布的解压密码......
  • CSS实现3D翻转卡牌效果
    翻牌效果这是一个简单的翻牌效果,通过HTML和CSS实现。详细的实现和注意点如下:HTML结构<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.......
  • 【力扣真题】3.哈希表|算法真题程序设计数据结构考研保研复试机试面试秋招春招蓝桥杯
    242.有效的字母异位词给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。示例1:输入:s=“anagram”,t=“nagaram”输出:true示例2:输入:s=“rat”,t=“car”输出:false说明:你可以假设字符串只包含小写字母。力扣题目链接思......
  • 蓝桥杯十五届国赛模拟题1答案
    1、bug缺陷报告功能名称缺陷描述操作步骤预期结果实际结果缺陷级别销售订单列表在销售订单列表页面,模糊查询失败1、成功进入订单管理界面->点击【销售订单列表】按钮;2、单据编码输入订单模糊信息;3、点击搜索按钮;3、观察销售订单列表页面;列表显示符合条件数据......
  • 蓝桥杯软件测试第十五届蓝桥杯模拟赛1期题目解析
    PS需要第十五界蓝桥杯模拟赛1期功能测试模板、单元测试被测代码、自动化测试被测代码请加......
  • 蓝桥等考Python组别十六级07(区间合并)
    蓝桥等考Python组别十六级007第一部分:选择题1、PythonL16(15分)a和b是两个集合,a|b表示a和b的(  )。交集并集子集差集正确答案:B2、PythonL16(15分)运行下面程序,输出的结果是(  )。s=set([5,1,5,5,1,2])print(len(s))3456正确答案:A3、PythonL16(20......
  • 免费,C++蓝桥杯比赛历年真题--第14届蓝桥杯省赛真题(含答案解析和代码)
    C++蓝桥杯比赛历年真题–第14届蓝桥杯省赛真题一、选择题答案:A解析:C++中bool类型与char类型一样,都需要1byte。一些其他类型的占用字节数:short:2byte,int:4byte,longlong:8byte,double:8byte,故答案为A。答案:C解析:A中结构体中可以定义成员变量,也可以定义只有该结......
  • 第十一届蓝桥杯大赛软件类决赛 Java B 组
    文章目录发现宝藏【考生须知】试题A:美丽的2试题B:扩散试题C:阶乘约数试题D:本质上升序列试题E玩具蛇试题F蓝肽子序列试题G皮亚诺曲线距离试题H:画廊试题I:补给试题J质数行者发现宝藏前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍......