QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#252882 | #7622. Yet Another Coffee | Geospiza# | WA | 0ms | 11592kb | C++20 | 2.0kb | 2023-11-16 14:17:22 | 2023-11-16 14:17:22 |
Judging History
answer
#pragma GCC optimize(3,"Ofast","inline")
#pragma GCC optimize(2)
#include <bits/stdc++.h>
#define ll long long
#define mod 998244353
#define Ma 500005
#define G 3
#define N 13
#define pb push_back
#define L (1<<21)
using namespace std;
ll inf=1e18;
ll mi[Ma];
ll a[Ma];
ll p[Ma],w[Ma];
ll n,m;
struct Go{
ll num,w;
}t[Ma];
struct pri{
ll w;
bool operator <(const pri &A)const{
return w>A.w;
}
};
priority_queue <pri> q,qq;
void sol()
{
cin>>n>>m;
mi[0]=inf;
for (ll i=1;i<=n;i++)
cin>>a[i],mi[i]=min(mi[i-1],a[i]);
for (ll i=1;i<=m;i++)
cin>>t[i].num>>t[i].w,t[i].num=min(t[i].num,n),p[i]=t[i].num;
sort(p+1,p+m+1);
ll cnt=unique(p+1,p+m+1)-(p+1);
for (ll i=1;i<=m;i++)
{
ll l=lower_bound(p+1,p+cnt+1,t[i].num)-p;
w[l]+=t[i].w;
}
ll pre=cnt;
for (ll i=p[cnt]+1;i<=n;i++)
q.push({a[i]});
ll ans=0,del=0;
for (ll ca=1;ca<=n;ca++)
{
ll er=-1;
while (q.empty())
{
del+=w[pre],pre--;
for (ll i=p[pre]+1;i<=p[pre+1];i++)
q.push({a[i]});
}
while (pre!=0&&q.top().w>=mi[p[pre]]-w[pre])
{
er=mi[p[pre]];
del+=w[pre],pre--;
for (ll i=p[pre]+1;i<=p[pre+1];i++)
q.push({a[i]});
}
//("ca=%lld pre=%lld er=%lld\n",ca,pre,er);
if (er==-1)
ans+=q.top().w,q.pop();
else
ans+=er,qq.push({er});
while (!q.empty()&&!qq.empty()&&q.top().w==qq.top().w)
q.pop(),qq.pop();
cout<<ans-del<<" \n"[ca==n];
}
while(!q.empty())q.pop();
while (!qq.empty()) qq.pop();
for(int i=0;i<=cnt;++i)w[i]=0;
}
int main(){
ios::sync_with_stdio(0); cin.tie(0);
int tt=1;
cin>>tt;
while (tt--)
sol();
return 0;
}
/*
500000 500000
2
5 2
1 2 3 4 5
3 1
4 2
7 3
4 3 1 10 3 8 6
4 9
3 8
4 5
1
5 2
3 5 2 1 1
2 2
3 1
*/
詳細信息
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 11592kb
input:
5 10 14 17 37 59 65 53 73 68 177 160 111 10 177 5 193 2 30 3 63 2 339 3 263 5 178 2 190 9 23 10 328 10 200 9 8 3 391 6 230 12 9 152 306 86 88 324 59 18 14 42 260 304 55 3 50 2 170 1 252 7 811 1 713 7 215 10 201 4 926 8 319 19 20 182 74 180 201 326 243 195 31 170 263 284 233 48 166 272 281 179 116 31...
output:
-2596 -2559 -2506 -2447 -2382 -2314 -2241 -2130 -1970 -1793 -2386 -2372 -2354 -3387 -3345 -3290 -3231 -3143 -2883 -2579 -2273 -1949 -6527 -6496 -6448 -6374 -6258 -6092 -5922 -5743 -5563 -5368 -5167 -4934 -4691 -4428 -4156 -3875 -3591 -3272 -2946 232 -2987 -2572 -2140 -1707 -1238 -768 -274 243 1046 -...
result:
wrong answer 11th numbers differ - expected: '-3505', found: '-2386'