社区讨论

TLE 75pts求调

P14962 [LBA-OI R2 A] 一次买够参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mkgunb4q
此快照首次捕获于
2026/01/16 20:23
上个月
此快照最后确认于
2026/01/18 23:15
上个月
查看原帖
题目传送门:P14962 LBA R2 一次买够
75ptspts curmx应该是mn蛋竹帛懒得改了。
各位神牛发发力!!!
CPP
#include<iostream>
#include<algorithm>
#define int long long
using namespace std;
int n,m,curmx,ans,o,x,y,flag;
struct no{
    int v,w;
    bool f;
}a[1000001];
bool cmp(no q,no h){
    return q.w>h.w;
}
signed main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i].v>>a[i].w;
        curmx=max(a[i].w,curmx);
    }
    for(int i=1;i<=n;i++)
        if(a[i].w==curmx)
            ans+=a[i].v,a[i].f=1;
    for(int i=1;i<=m;i++){
        cin>>o>>x>>y;
        if(o==1){
            a[i+n].v=x;
            a[i+n].w=y;
            if(y>=curmx){
                ans+=a[i+n].v;
                a[i+n].f=1;
            }
        }
        else{
            a[x].w=y;
            if(a[x].f==1){
                if(curmx>y){
                    curmx=a[x].w;
                    for(int j=1;j<=i+n;j++)
                        if(a[j].w>=curmx&&!a[j].f){
                            ans+=a[j].v;
                            a[j].f=1;
                        }
                }
            }
            else
                if(a[x].w>=curmx){
                    a[x].f=1;
                    ans+=a[x].v;
                }
        }
        cout<<ans<<endl;
    }
}

回复

3 条回复,欢迎继续交流。

正在加载回复...