1 条题解

  • 0
    @ 2025-1-5 17:13:49

    using namespace std; int b,n; int c[100005],p[100005]; bool f(int x){ long long sum=0; for(int i=1;i<=min(n,x);i++){ sum+=max(c[i],p[i]*(x-i)); } return sum>=b; } int main(){ //freopen("fight.in","r",stdin); //freopen("fight.out","w",stdout); // ios::sync_with_stdio(false); scanf("%d%d",&b,&n); for(int i=1;i<=n;i++){ cin>>c[i]>>p[i]; } int l=1,r=b; while(l<r){ int mid=(l+r)/2; if(f(mid)) r=mid; else l=mid+1; // cout<<l<<" "<<r<<endl; } cout<<l; return 0; } 千万不要抄!!! 你会后悔的!!!

    信息

    ID
    1795
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    36
    已通过
    4
    上传者