这题数据好水
查看原帖
这题数据好水
560112
__Alexander__楼主2024/7/25 09:30

1e4都能过。

#include<bits/stdc++.h>
using namespace std;
int n,t;
struct ant{        
    int data;
    int xb;
    int fx;
    int ans;
} a[10010];
struct aaa{ 
    int data;
    int fx;
} b[10010];
bool cmp1(ant x,ant y){
    return x.data<y.data;
}
bool cmp2(aaa x,aaa y){
    return x.data<y.data;
}
bool cmp3(ant x,ant y){
    return x.xb<y.xb;
}
int main(){
    cin>>n>>t;
    for(int i=1;i<=n;i++){
        cin>>a[i].data>>a[i].fx;
        a[i].xb=i;
    }
    sort(a+1,a+n+1,cmp1);
    for(int i=1;i<=n;i++){
        b[i].data=a[i].fx==1?a[i].data+t:a[i].data-t;
        b[i].fx=a[i].fx;
    }
    sort(b+1,b+n+1,cmp2);
    for(int i=1;i<=n;i++){
        a[i].ans=b[i].data;
        a[i].fx=b[i].fx;
    }
    for(int i=1;i<n;i++) if(a[i].ans==a[i+1].ans) a[i].fx=a[i+1].fx=0;
    sort(a+1,a+n+1,cmp3); 
    for(int i=1;i<=n;i++) cout<<a[i].ans<<" "<<a[i].fx<<endl;
    return 0;
}
2024/7/25 09:30
加载中...