P5462 X龙珠
  • 板块灌水区
  • 楼主Nevergonna_CCF
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/3/18 16:35
  • 上次更新2023/10/28 06:19:16
查看原帖
P5462 X龙珠
547446
Nevergonna_CCF楼主2022/3/18 16:35
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
pair<int,int> p[100001];

bool cmp(pair<int,int> a, pair<int,int> b){
    if(a.first==b.first) return a.second>b.second;
    return a.first>b.first;
}

int main(){
    int n;
    cin>>n;
    int flag=n-(n/2*2);
    for(int i = 1; i<=n/2; i++){
        cin>>p[i].first>>p[i].second;
    }
    if(flag){
        cin>>p[n/2+1].first;
        p[n/2+1].second=(1<<15);
    }
    sort(p+1,(flag?(p+(n/2+1)):p+n/2)+1,cmp);
    for(int i = 1; i<=n/2; i++){
        if(p[i].second==(1<<15)){
            cout<<p[i].first<<" ";
            continue;
        }
        cout<<p[i].first<<" "<<p[i].second<<" ";
    }
    if(flag){
        if(p[n/2+1].second==(1<<15)){
            cout<<p[n/2+1].first;
        }
        else{
            cout<<p[n/2+1].first<<" "<<p[n/2+1].second;
        }
    }
    return 0;
}

全WA,哪里错了啊,是UB吗?

2022/3/18 16:35
加载中...