题目链接
解题思路: 依旧使用贪心思想,但是由于数据规模较大,可以用两个队列,一个存储排序的原数组, 一个存储每次合并需要的体力。显然,每次需要的体力不断增加,所以 aq 和 bq 始终有序
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> P;
const int INF = 0x3f3f3f3f;
const int MAX_N = 1e5 + 10;
const int MOD = 1e9 + 7;
const double esp = 1e-9;
int n, m;
int cnt[MAX_N];
queue<ll> aq, bq;
int read(){
char c=getchar();
int f=1,x=0;
while(c<'0'||c>'9'){
if