咱就说排序用前一位大于等于后一位过80%,改成前一位大于后一位通过,不知道为什么。真离谱,代码如下,求解 代码: #include<bits/stdc++.h> using namespace std; bool cmp(int a,int b){     return a>=b;//改成a>b通过 } int main(){     int n,h;     cin>>n>>h;     int num[100000+5];     int maxn=0;     int a;     for(int i=0;i<n;i++){         cin>>a>>num[i];         maxn=max(maxn,a);     }     sort(num,num+n,cmp);     int ans=0;     for(int i=0;i<n;i++){         if(num[i]>maxn){             h-=num[i];             ans++;         }         else             break;         if(h<=0)             break;     }     if(h>0){         if(h%maxn==0)            ans+=h/maxn;         else             ans+=h/maxn+1;     }     cout<<ans<<endl;     return 0; }