2 条题解

  • 0
    @ 2025-10-8 16:58:10
    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int N=1e5+10;
    pair< ll ,ll > a[N];
    int main()
    {
        int n;ll B;scanf("%d%lld",&n,&B);
        for(int i=1;i <= n;i++)scanf("%lld %lld", &a[i].first, &a[i].second);
        sort(a+1, a+n+1);
        ll ans=0;
        for(int i=1; i<=n;i++)
        {
            if(B / a[i].first < a[i].second)
            {
                ans+=B/a[i].first;
                break;
            }
            else
            {
                ans += a[i].second;
                B -= a[i].first * a[i].second;
            }
        }
        printf("%lld\n",ans);
        return 0;
    }
    
    • 0
      @ 2025-10-8 16:58:04
      #include <bits/stdc++.h>
      using namespace std;
      typedef long long ll;
      const int N=1e5+10;
      pair< ll ,ll > a[N];
      int main()
      {
      	int n;ll B;scanf("%d%lld",&n,&B);
      	for(int i=1;i <= n;i++)scanf("%lld %lld", &a[i].first, &a[i].second);
      	sort(a+1, a+n+1);
          ll ans=0;
      	for(int i=1; i<=n;i++)
          {
      		if(B / a[i].first < a[i].second)
              {
      			ans+=B/a[i].first;
      			break;
      		}
              else
              {
                  ans += a[i].second;
                  B -= a[i].first * a[i].second;
              }
      	}
      	printf("%lld\n",ans);
      	return 0;
      }
      
      • 1

      *【贪心】购买巧克力[USACO10FEB] Chocolate Buying S

      信息

      ID
      1680
      时间
      3000ms
      内存
      128MiB
      难度
      6
      标签
      递交数
      104
      已通过
      30
      上传者