这道题为什么去重了得80分,去掉unique就对了
#include<iostream>
#include<algorithm>
using namespace std;
int const N=10010;
pair<int,int> p[N];
int alls[N],f[N];
int main()
{
int l,h,r,n=0;
while(cin>>l>>h>>r)
{
p[++n]={l,h},alls[n]=l;
p[++n]={r,0},alls[n]=r;
}
sort(alls+1,alls+1+n);
int ln=unique(alls+1,alls+1+n)-alls-1;
for(int i=1;i<=n;i+=2)
{
int l1=lower_bound(alls+1,alls+1+n,p[i].first)-alls;
int r1=lower_bound(alls+1,alls+1+n,p[i+1].first)-alls;
for(int j=l1;j<r1;j++)
f[j]=max(f[j],p[i].second);
}
for(int i=1;i<=ln;i++)
if(f[i]!=f[i-1])
cout<<alls[i]<<' '<<f[i]<<' ';
return 0;
}