hdu4882

典型的贪心,水题,收获是学会sort使用cmp对结构体排序!

#include<cstdio>
#include<algorithm>
using namespace std;
struct node
{
    int Ei;
    int Ki;
}Point[100010];
bool cmp(node a,node b)
{
    return a.Ki*b.Ei>b.Ki*a.Ei;
}
int main()
{
    int N;
    while(~scanf("%d",&N)&&N)
    {
        for(int i=0;i<N;i++)
            scanf("%d",&Point[i].Ei);
        for(int i=0;i<N;i++)
            scanf("%d",&Point[i].Ki);
        sort(Point,Point+N,cmp);
        long long sum=0,time=0;
        for(int i=0;i<N;i++)
        {
            time+=Point[i].Ei;
            sum+=time*Point[i].Ki;
        }
        printf("%I64d\n",sum);

    }
}

你可能感兴趣的:(贪心)