2 条题解

  • 0
    @ 2025-3-15 10:35:09

    过一半

    #include <bits/stdc++.h>
    
    using namespace std;
    
    struct Minister{
      int a,b;
      bool operator<(const Minister& other)const{
        return a*b < other.a*other.b;
      }
    };
    
    int main()
    {
      int n;
      cin>>n;
      vector<Minister>ministers(n+1);
      for(int i = 0;i<=n;++i)
      {
        cin>>ministers[i].a>>ministers[i].b;
      }
      sort(ministers.begin()+1,ministers.end());
      long long product = ministers[0].a;
      long long  max_coins = 0;
      for(int i = 1;i<=n;i++)
      {
        max_coins = max(max_coins,product/ministers[i].b);
        product *= ministers[i].a;
      }
      cout << max_coins<<endl;
    
      return 0;
    }
    

    信息

    ID
    5138
    时间
    1000ms
    内存
    125MiB
    难度
    4
    标签
    递交数
    55
    已通过
    16
    上传者