蒟蒻求助QAQ

P1168 中位数

Huanghy @ 2021-08-06 20:17:52

rt,P1168五个点全WA

#include <bits/stdc++.h>
using namespace std;

priority_queue <int,vector<int>,greater<int> > q1;//升序 
priority_queue <int,vector<int>,less<int> >q2;//降序 

int main()
{
 int n,x,y,k,m; 
    scanf("%d",&n);
    scanf("%d",&x);
    k=x;
    printf("%d\n",x);
    for(int i=2;i<=n;i+=2)
    {
        scanf("%d%d",&x,&y);
        q1.push(max(x,y));
        q2.push(min(x,y));
        while(q1.top()<q2.top())
        {
            int h1=q1.top(),h2=q2.top();
            q1.pop();
            q1.push(h2);
            q2.pop();
            q2.push(h1); 
        }
        while(k>q1.top())
        {
            q1.push(k);
            k=q1.top();
            q1.pop();
        }
        while(q1.top()<q2.top())
        {
            int h1=q1.top(),h2=q2.top();
            q1.pop();
            q1.push(h2);
            q2.pop();
            q2.push(h1); 
        }
        while(k<q2.top())
        {
            q2.push(k);
            k=q2.top();
            q2.pop();
        }
        printf("%d\n",k);
    }
    return 0;
}

by cff_0102 @ 2021-08-06 20:20:34

造大样例


by 听取MLE声一片 @ 2021-08-06 20:27:22

@Huanghy hhh能不能自己调一下再问


by Huanghy @ 2021-08-06 20:49:30

@听取MLE声一片 我自己造了几组都对,下了第一个测试点对了一遍也没错,但就是WA了


by 听取MLE声一片 @ 2021-08-06 20:53:24

@Huanghy 第一个数据点后面几行不一样


by Huanghy @ 2021-08-06 21:00:05

@听取MLE声一片 麻烦大佬了,自己查时迷糊了没查出来,我自己再改改吧


|