为什么这个代码能过本题,但不能过简要题意
#include<bits/stdc++.h>
using namespace std;
long long n,k,t,x,y,m[1000005],p;
struct Qj{
long long l,r,xb;
}qj[1000005];
bool cmp(Qj a,Qj b){
if(a.l!=b.l){
return a.l<b.l;
}
return a.r<b.r;
}
priority_queue<long long,vector<long long>,greater<long long> > q;
main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>k;
for(long long i=1;i<=n;i++){
cin>>qj[i].l>>qj[i].r;
qj[i].xb=i;
}
sort(qj+1,qj+1+n,cmp);
for(long long i=1;i<=n;i++){
q.push(qj[i].r);
if(i>=k){
if(i>k){
q.pop();
}
if(t<(q.top()-qj[i].l)){
x=qj[i].l;
y=q.top();
t=y-x;
}
}
}
cout<<t<<endl;
for(long long i=1;i<=n;i++){
if(qj[i].l<=x&&qj[i].r>=y&&k!=p){
m[++p]=qj[i].xb;
}
}
sort(m+1,m+1+k);
for(long long i=1;i<=k;i++){
cout<<m[i]<<" ";
}
return 0;
}