likangxin123 2023-07-19 12:53 采纳率: 33.3%
浏览 98

这道世纪难题,谁能用c++写

img


题目描述
现有

n位英雄,每位英雄有力量属性。需要击败防御力

x ,攻击力

y的巨龙,需要满足:

花费1金币,令某位英雄力量加一
选择一位英雄进攻,该英雄的力量至少为

x
其他英雄防守,其他英雄的力量之和至少为

y
现在有

m条恶龙,请你依次回答击败当前这条恶龙所需要花费的最少金币。

输入格式
第一行包含一个整数

(
2



2

1
0
5
)
n(2≤n≤2∗10
5
)。 第二行包含

n个整数

1
,

2
,
.
.
.
,


(
1




1
0
12
)
a
1

,a
2

,...,a
n

(1≤a
i

≤10
12
)表示英雄的力量值。 第三行包含一个整数

(
1



2

1
0
5
)
m(1≤m≤2∗10
5
)表示恶龙的数量。 以下

m行每行包含两个整数

,

(
1


,


1
0
18
)
x,y(1≤x,y≤10
18
)表示当前恶龙的防御力和攻击力。

输出格式
对于每个恶龙输出一个整数表示需要击败它所需要花费的最少金币。

样例
输入数据 1
4
3 6 2 3
5
3 12
7 9
4 14
1 10
8 7
输出数据 1
1
2
4
0
2
样例解释
为了击败第一条恶龙, 你可以将第三个勇者的力量增加1, 那么英雄们的力量值将会是
[
3
,
6
,
3
,
3
]
[3,6,3,3].为了击败这条恶龙,我们可以令第一个英雄出战。
谁能做出来这道世纪难题

  • 写回答

4条回答 默认 最新

  • 凌晨五点的星 2023-07-19 13:45
    关注
    #include <iostream>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    
    int main() {
        int n;
        cin >> n;
        
        vector<int> heroes(n);
        for (int i = 0; i < n; i++) {
            cin >> heroes[i];
        }
        
        int m;
        cin >> m;
        
        for (int i = 0; i < m; i++) {
            long long x, y;
            cin >> x >> y;
            
            sort(heroes.begin(), heroes.end(), greater<int>());
            
            int cost = 0;
            int total_power = 0;
            for (int j = 1; j < n; j++) {
                total_power += heroes[j];
            }
            
            if (heroes[0] >= x) {
                cout << cost << endl;
            } else {
                int required_power = x - heroes[0];
                if (total_power >= y) {
                    cout << cost + required_power << endl;
                } else {
                    cout << cost + required_power + (y - total_power) << endl;
                }
            }
        }
        
        return 0;
    }
    

    通过读取输入并按照题目要求计算每个恶龙所需的最少金币,输出结果,代码中使用了 vector 容器来存储英雄的力量值,并进行相应的计算。你好好试试,我这里dev c++是正常跑的

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月19日

悬赏问题

  • ¥20 用户端如何上传图片到服务器和数据库里
  • ¥15 现在研究生在烦开题,看了一些文献,但不知道自己要做什么,求指导。
  • ¥15 vivado封装时总是显示缺少一个dcp文件
  • ¥100 pxe uefi启动 tinycore
  • ¥15 我pycharm运行jupyter时出现Jupyter server process exited with code 1,然后打开cmd显示如下
  • ¥15 可否使用carsim-simulink进行四轮独立转向汽车的联合仿真,实现四轮独立转向汽车原地旋转、斜向形式、横移等动作,如果可以的话在carsim中如何进行相应设置
  • ¥15 Caché 2016 在Java环境通过jdbc 执行sql报Parameter list mismatch错误,但是同样的sql使用连接工具可以查询出数据
  • ¥15 疾病的获得与年龄是否有关
  • ¥15 opencv.js内存,CPU飙升
  • ¥15 植物重测序snp数据Treemix分析出现问题!