问题标题: 酷町堂:2794

0
0
已解决
田悦妍
田悦妍
新手守护
新手守护

题目链接: 酷町堂:2794

某小学有若干名小朋友,儿童节到了要给他们带去礼物。调查显示,小朋友们分为N类,对于第i类小朋友,有Ci个小朋友想要第i种礼品,这种礼物的售价为Pi。现在有B元的预算,他最多可以满足多少小朋友?(B的值可能很大)

错误代码:

  • #include<bits/stdc++.h>
  • using namespace std;
  • struct pig{
  • int sl,jg;
  • }a[100001];
  • bool cmp(pig x,pig y){
  • return x.jg<y.jg;
  • }
  • int main() {
  • int h,b,n,x,cnt=0;
  • cin>>n>>b;
  • for(int i=1;i<=n;i++){
  • cin>>a[i].jg>>a[i].sl;
  • }
  • sort(a+1,a+n+1,cmp);
  • for(int i=1;i<=n;i++){
  • if(b>=a[i].jg*a[i].sl){
  • cnt+=a[i].sl; b-=a[i].jg*a[i].sl;
  • } else if(b!=0){
  • cnt++; b-=a[i].jg;
  • }else {
  • break;
  • }
  • } cout<<cnt;
  • }

0
我要回答