0
已解决
吴文光
新手光能
新手光能
#include <iostream>
#include <algorithm>
using namespace std;
struct apple{
int p,s;
}jg[100010];
bool cmp(apple a,apple b){
if(a.p!=b.p)
return a.p<b.p;
}
int a[110000],n,w,s,t;
int main()
{
cin>>w>>n;
for(int i=1;i<=n;i++)
cin>>jg[i].p;
for(int i=1;i<=n;i++)
cin>>jg[i].s;
sort(jg+1,jg+1+w,cmp);
while(w>0)
{
s++;
w=w-jg[s].s;
t+=jg[s].s*jg[s].p;
}
t+=w*jg[s].p;
cout<<t;
return 0;
}
0
已采纳
李秉轩
修练者
修练者
struct milk{
int p,s;
}a[100001];
bool cmp(milk a,milk b){
return a.p<b.p;
}
int main()
{
int m,n,ans=0;
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>a[i].p;
}
for(int i=1;i<=n;i++){
cin>>a[i].s;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
if(m>=a[i].s){
ans+=a[i].p*a[i].s;
m-=a[i].s;
}
else{
ans+=a[i].p*m;
break;
}
}
cout<<ans;
0
0
0