问题标题: 酷町堂:3043 能量宝珠

1
0
已解决
陈喆鹏
陈喆鹏
资深光能
资深光能
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std; 
struct A{
    int l,s;
}a[20];
bool cmp(A a,A b)
{
    return a.s>b.s;
}
int n,v,v1;
bool B()
{
    int x=0;
    for(int i=0;i<n;i++)x+=a[i].l*a[i].s;
    return x>=v;
}
int main()
{
    int sum=0;
    cin>>n>>v;
    for(int i=0;i<n;i++)cin>>a[i].s>>a[i].l;
    sort(a,a+n,cmp);
    int i,w,c;
    while(B())
    {
        v1=v;
        for(i=0;i<n;i++)
        {
            if(a[i].l>0)
            {
                c=min(a[i].l,v1/a[i].s);
                if(v1/a[i].s==0)c=1;
                a[i].l-=c;
                v1-=c*a[i].s;
            }
            cout<<v1<<endl;
            if(v1<1)break;
        }
        sum++;
    }
    cout<<sum;
    return 0;
}

错了


0
已采纳
蒋智航
蒋智航
高级天翼
高级天翼

贪心,会吗?

用贪心;

动规

0
0
我要回答