一个警告:
警告 C6385 从“a”中读取的数据无效: 可读大小为“4”个字节,但可能读取了“8”个字节。
输入数据之后报错,times最终输出都是1.
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int n, H, a[] = { 0 },v=1,times=0;//n为武器数量,H为血量,a[]为各武器攻击力,times为攻击次数
int t;//测试次数
cin >> t;
for (int m = 1;m <= t;m++)
{
cin >> n >> H;
for (int i = 0;i < n;i++) {
cin >> a[i];//输入每个武器的攻击力
cout << a[i] << endl;
}
sort(a, a + n);//攻击力排序
cout << a[n - 1];
while (H > 0) {
if (v == 1) {
H -= a[n - 1];//用攻击最高的武器
times += 1;
v=0;
}
else {
H -= a[n - 2];//用次高的武器
times += 1;
v=1;
}
}
cout << times;//输出攻击次数
}
return 0;
}