题解 | #小欧的选数乘积#
小欧的选数乘积
https://www.nowcoder.com/practice/a94f523ebe424d0481533dc9e6138724
暴力的添加最大的元素
#include <iostream>
#include <queue>
#include <map>
#include <set>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <iomanip>
#include <stack>
#include <numeric>
#include <ctime>
#include <string>
#include <bitset>
#include <unordered_map>
#include <unordered_set>
using namespace std;
using ll = long long;
const ll N = 5e5 + 5, mod = 1e9 + 7, inf = 2e18;
const double esp = 1e-8;
ll x, y;
set<ll>st;
int n;
void solve() {
cin >> x >> y >> n;
for (int i = 1; i <= n; i++) {
ll tem;
cin >> tem;
st.insert(tem);
}
if (x >= y) {
cout << 0;
return ;
}
int ans = 0;
while (x < y && !st.empty()) {
auto it = st.rbegin();
x *= *it;
ans++;
st.erase(*it);
}
cout << (x >= y ? ans : -1);
}
int main() {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int t = 1;
//cin >> t;
while (t--) {
solve();
}
return 0;
}
查看1道真题和解析
传音控股晋升空间 52人发布
