316 条题解

  • 0
    @ 2026-7-15 14:50:10
    #include
    using namespace std;
    long n,t,ans;
    struct stu
    {
    int yu,sj;
    }a[120000];
    bool cmp(stu x,stu y)
    {
    return x.sj<y.sj;
    }
    int main()
    {
    cin>>n>>t;
    for(int i=1;i<=n;i++) cin>>a[i].yu;
    for(int i=1;i<=n;i++) cin>>a[i].sj;
    sort(a+1,a+1+n,cmp);
    for(int i=1;i<=n;i++)
    {
    if(t>=a[i].yu*a[i].sj)
    {
    t=t-a[i].yu*a[i].sj;	
    ans+=a[i].yu;
    }
    else
    {
    ans+=t/a[i].sj;	
    break;
    }
    }
    cout<<ans;
    }
    

    信息

    ID
    104
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    271
    已通过
    69
    上传者