咱就说排序用前一位大于等于后一位过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; }
1 2

相关推荐

05-10 16:48
门头沟学院 Java
程序员小白条:主要原因,投递太晚了,快手应该早点溜了,你都从去年9月开始的,半年也差不多3月跑路了,这样的话,至少有5个以上的面试机会
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务