Code:
for(int i=1;i<=n;++i) if(key[i].tim <= (ll)Q.size()) { if(key[i].val > Q.top()) { ans -= Q.top(); ans += key[i].val; Q.pop(); Q.push(key[i].val); } } else { ans += key[i].val; Q.push(key[i].val); } } printf("%lld\n",ans); return 0; }
Code:
for(int i=1;i<=n;++i) if(key[i].tim <= (ll)Q.size()) { if(key[i].val > Q.top()) { ans -= Q.top(); ans += key[i].val; Q.pop(); Q.push(key[i].val); } } else { ans += key[i].val; Q.push(key[i].val); } } printf("%lld\n",ans); return 0; }