萌新刚学 OI,求助 20pts 的水题

P3545 [POI2012] HUR-Warehouse Store

《刚学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


|