題目大意:
有
解題思路:
經典貪心題目,白書上好像有原題吧。
思路就是將所有的產品按遞送時間從大到小排序,然後直接從前往後做就行了。
證明:
首先,顯然完成所有產品的時間是確定的。然後我們考慮交換兩個產品的製作順序。
AC代碼:
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <iostream>
using namespace std;
int N;
struct task_
{
int T,L;
}task[110]={{0,0}};
bool cmp(struct task_ a1,struct task_ a2)
{return a1.L>a2.L;}
int main()
{
scanf("%d",&N);
for(int i=1;i<=N;i++)
scanf("%d",&task[i].T);
for(int i=1;i<=N;i++)
scanf("%d",&task[i].L);
sort(task+1,task+N+1,cmp);
int st=0;
int ans=0;
for(int i=1;i<=N;i++)
{
st+=task[i].T;
ans=max(ans,st+task[i].L);
}
cout<<ans<<endl;
return 0;
}