求助,没有发现错误,20分,WA

P3545 [POI2012] HUR-Warehouse Store

没看出来
by Einstein_bili @ 2022-07-14 16:40:49


记录发一下
by Xcc_Kanade @ 2022-07-14 16:42:40


@[Luo_gu_ykc](/user/415961) 大概是ans的问题
by mzycmzy @ 2022-07-14 17:07:05


@[Luo_gu_ykc](/user/415961) ```cpp #include <bits/stdc++.h> #define int long long using namespace std; const int N = 250005; int a[N], b[N], n; typedef pair<long long,int> pii; priority_queue<pii,vector<pii>,less<pii> > q; bool v[N]; int ans, sum = 0; signed main() { cin >> n; for(int i = 1; i <= n; i++){cin >> a[i];} for(int i = 1; i <= n; i++){cin >> b[i];} for(int i = 1; i <= n; i++){ sum += a[i]; if(sum<=b[i]&&!q.empty()&&q.top().first>b[i]){ sum += q.top().first; v[q.top().second] = 0; q.pop(); ans--; } if(sum>=b[i]){ sum -= b[i]; v[i] = 1; q.push((pii){b[i], i}); ans++; } } cout <<q.size()<< "\n"; for(int i = 1; i <= n; i++){ if(v[i]){ cout << i << ' '; } } return 0; } ```
by mzycmzy @ 2022-07-14 17:22:18


大根堆错了
by mzycmzy @ 2022-07-14 17:23:13


@[mzycmzy](/user/444833) 谢谢,但请问为什么我那么写就错了呢?
by Luo_gu_ykc @ 2022-07-14 18:07:05


@[Luo_gu_ykc](/user/415961) 不知道,反正改成这样就对了
by mzycmzy @ 2022-07-15 08:02:11


|