《刚学OI》
《一道水题》
by tian_jun_cheng @ 2022-03-01 13:14:30
忽然发现 pop 应该放在进队前面,因为不然的话队首可能会被改变,wssb
```cpp
#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
#define MAXN 250000
#define QWQ cout << "QWQ" << endl;
using namespace std;
struct node {
long long val;
int id;
node(long long V, int I) {
val = V, id = I;
}
bool operator < (const node &other) const {
return val < other.val;
}
};
vector <int> vec;
long long a[MAXN + 10], b[MAXN + 10];
bool vis[MAXN + 10];
int main() {
priority_queue <node> que;
int n; cin >> n;
for(int p = 1; p <= n; p++)
cin >> a[p];
long long ans = 0, tot = 0;
for(int p = 1; p <= n; p++) {
cin >> b[p];
tot += a[p];
if(tot >= b[p]) {
tot -= b[p];
ans++;
que.push(node(b[p], p));
}
else if(!que.empty() && tot + que.top().val >= b[p]) {
tot = tot + que.top().val - b[p];
que.pop(); que.push(node(b[p], p));
}
}
while(!que.empty()) {
vec.push_back(que.top().id);
que.pop();
}
sort(vec.begin(), vec.end());
cout << ans << endl;
for(int p = 0; p < ans; p++)
cout << vec[p] << ' ';
}
```
这是 60pts 的代码/kk
by SIXIANG32 @ 2022-03-01 13:14:57
**~~要不是刚看完您某道黑题的题解对您有印象我就真信您是萌新了~~**
by Ranger_HoFr @ 2022-03-01 13:47:47
orz
orz
orz
%%%%%
by cst_123 @ 2022-03-01 19:18:44