codeforces 990

codeforces 990

今天算是好好见识了一把re梦Image_253246275398

image-20241203213040361

比赛时候一直找不到错哪了,也是因为今天生病了状态太差前面wa太多了浪费了太多时间,所以最后没时间检查了

void solve(){
int n;
cin >> n;
vector<ll> a(n);
for(int i = 0;i < n;i++){
    cin >> a[i];
}
priority_queue<ll,vector<ll>,greater<>> pq;
deque<ll> q;
for(int i = 0;i < n;i++){
    
    while(!q.empty()){
        ll x = q.back();
        if(a[i] < x){
            q.pop_back();
            pq.push(x);
        }else break;
        
    }
    q.emplace_back(a[i]);
}
ll x = pq.top() + 1;
while(!q.empty()){
if(q.front() <= x){
    cout << q.front() << " " ;
    q.pop_front();
}else{
ll k = q.front();
pq.push(k);
q.pop_front();
}
}
while(!pq.empty()){
    ll k = pq.top();
    cout <<  k  + 1<< " ";
    pq.pop();
}
cout << nl;
}

错误代码链接

这就很离谱,本来这题写得特别顺,我都不觉得我会有错,结果给我来了个runtime error

当赛后去查看错误的样例时image-20241203213519163

看不到很好

我百思不得其解,于是去问了问jiangly群的人

大多数人的第一反应都是数组越界了,然而我的代码除了存数据那块和数组都没什么关系

最后有个群u说top可能会出问题,于是我去查看,发现确实如此

image-20241203213720606

image-20241203213745133

在这个位置上加一个数组为空的情况下直接输出结果完美ac

谁也没想到最后运行错误的样例竟然是简单的

1 2 3 4 5 6 7 8...

查询战况

image-20241203213857834

前面wa得太多了,说起来我确实很煞笔,b题wa了四发 纯纯脑残了,我大抵是病了

c的话是一开始想错了,我以为是上下两个数相加最大,wa了四发后才发现是取到另外一面的一个最大值,然后又wa了两发是因为mx没设置成-1e18,罚时超人,掉分掉完了,难得得本来能a四题最后因为罚时和re梦打出灰名表现分。

posted @ 2024-12-03 21:43  夏尾草  阅读(39)  评论(0)    收藏  举报