莫名其妙CE
#include<bits/stdc++.h>
using namespace std;
int a[25005],b[25005],sep[25005];
int n,sum;
int cmp1(const void *x,const void *y){
int i=*(int *)x;
int j=*(int *)y;
return b[i]!=b[j]?b[j]-b[i]:a[i]-a[j];
}
int cmp2(const void *x,const void *y){
int i=*(int *)x;
int j=*(int *)y;
return a[i]!=a[j]?a[i]-a[j]:b[j]-b[i];
}
void f(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i]>>b[i];
sum+=b[i];
sep[i]=i;
}
}
void w(){
qsort(sep,n,sizeof(int),cmp1);
int ans,tot=0,h=0;
for(int i=0;i<n;i++)
if(a[sep[i]]>h){
tot+=a[sep[i]]-h;
h=b[sep[i]];
}
else h+=b[sep[i]]-a[sep[i]];
ans=tot+sum;
qsort(sep,n,sizeof(int),cmp2);
tot=h=0;
for(int i=0;i<n;i++)
if(a[sep[i]]>h){
tot+=a[sep[i]]-h;
h=b[sep[i]];
}
else h+=b[sep[i]]-a[sep[i]];
ans=min(ans,tot+sum);
cout<<ans;
}
int main(){
f();
w();
return 0;
}
题目:
