D-AngeloRussell

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;

int p[20001]={0};
int ansl[1001],ansr[1001];

struct node{
int l;
int r;
int h;
int num;
int ansl;
int ansr;
}a[100001];

bool cmp(node x,node y){
if (x.h==y.h){
return x.num>y.num;
}
return x.h<y.h;
}

bool cmp2(node x,node y) //函数名任意取,该函数为bool形
{
return x.num<y.num; // 反之按y从小到大排列
}

int main(){
int N;
cin>>N;
for(int i=1;i<=N;i++){
cin>>a[i].h;
cin>>a[i].l;
cin>>a[i].r;
a[i].num=i;
}
sort(a+1,a+1+N,cmp);
for(int i=1;i<=N;i++){
a[i].ansl=p[a[i].l];
a[i].ansr=p[a[i].r];
for(int q=a[i].l+1;q<=a[i].r-1;q++){
p[q]=a[i].num;
}
}
sort(a+1,a+1+N,cmp2);
for(int i=1;i<=N;i++){
cout<<a[i].ansl;
cout<<" ";
cout<<a[i].ansr<<endl;
}
}

分类:

技术点:

相关文章:

  • 2021-06-25
  • 2021-08-11
  • 2022-12-23
  • 2022-02-16
  • 2021-06-08
  • 2022-12-23
  • 2022-12-23
  • 2022-01-22
猜你喜欢
  • 2022-02-07
  • 2022-12-23
  • 2021-10-11
  • 2021-11-21
  • 2022-12-23
  • 2021-12-04
  • 2021-07-09
相关资源
相似解决方案