题解
2024-05-06 13:00:25
发布于:广东
16阅读
0回复
0点赞
你怎么知道这道题我手刹?
你怎么知道这道题我手刹?
你怎么知道这道题我手刹?
这道题主要考察读题能力,不要一上来就直接写
游戏规则是,ZXC可以自己任意选择挑战的关卡顺序,但目标是要通过所有的关卡。
看到没,这是第一个坑,如果没看到,就只能得60分
所以我们要sort一下,从小到大排序
然后正常模拟就行了……吗?
诶我怎么只得了120分啊
没错,恭喜你——踩入了第二个坑!
看看数据范围:
看着没什么对吧?
实际上我们按极限值模拟,会发现——
结果为389079403926!12位数!!!
所以,我们一定要开long long
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int a[100005];
int main(){
long long n, m;
cin >> n >> m;
for(int i = 1; i <= n; i++){
cin >> a[i];
}sort(a + 1, a + n + 1);//贪心,从小到大排序
for(int i = 1; i <= n; i++){//模拟
if(m <= a[i]){
cout << -1;
return 0;
}m -= a[i];
m *= 1.02;
}
cout << m;
return 0;
}
时间复杂度:
这里空空如也
有帮助,赞一个