关注
int main()
{
int n;
cin>>n;
vector<vector<int>> vv(n);
vector<vector<int>> dp(n);
for(int i=0;i<n;i++){
dp[i].resize(n,-1);
}
for(int i=0;i<n;i++){
vv[i].resize(4);
for(int j=0;j<4;j++){
cin>>vv[i][j];
}
}
//dp[i][j]表示的是: 已经选了j个red的情况下,从第i回合开始选红色或绿色,一直选,直到所有回合都选择完成所能获得的最大饱腹量
for(int i=n-1;i>=0;i--){
for(int j=0;j<=i+1;j++){
if(i==n-1){
//只剩下最后一个回合,返回两者最大值即可
dp[i][j]=max(j*vv[i][0]+(i-j)*vv[i][1],j*vv[i][2]+(i-j)*vv[i][3]);
}
else{
//此时到达的第i回合选红色的情况下,选到最后所能获取的最大饱腹量
int sr=j*vv[i][0]+(i-j)*vv[i][1]+dp[i+1][j+1];
//此时到达的第i回合选绿色的情况下,选到最后所能获取的最大饱腹量
int sg=j*vv[i][2]+(i-j)*vv[i][3]++dp[i+1][j];
//取两者最大值
dp[i][j]=max(sr,sg);
}
}
}
//返回从第0回合开始取,红色已经选了0个的情况下所能获取的最大饱腹量即是答案
cout<<dp[0][0]<<endl;
return 0;
}
查看原帖
点赞 评论
相关推荐
查看28道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
26697次浏览 327人参与
# 一份好的简历长什么样? #
23241次浏览 427人参与
# 材料专业就业可以去哪些企业岗位 #
55061次浏览 378人参与
# 为了减少AI幻觉,你注入过哪些设定? #
8243次浏览 221人参与
# 在大厂上班是一种什么样的体验 #
16117次浏览 227人参与
# 机械人避雷的岗位/公司 #
45154次浏览 321人参与
# 招聘要求与实际实习内容不符怎么办 #
166250次浏览 922人参与
# 你的mentor是什么样的人? #
51766次浏览 742人参与
# 论秋招对个人心气的改变 #
17047次浏览 256人参与
# 秋招落幕,你是He or Be #
54751次浏览 620人参与
# 我和mentor的爱恨情仇 #
106869次浏览 970人参与
# 牛客AI体验站 #
10096次浏览 235人参与
# 程序员找工作至少要刷多少题? #
25372次浏览 320人参与
# 制造业的秋招小结 #
142332次浏览 2086人参与
# 本周投递记录 #
842471次浏览 12226人参与
# 晒晒你司的新年福利 #
10823次浏览 192人参与
# 应届生进小公司有什么影响吗 #
119106次浏览 1162人参与
# AI Coding的使用心得 #
6827次浏览 142人参与
# 一张图晒一下你的AI员工 #
6979次浏览 153人参与
# 我现在比当时_,你想录用我吗 #
10777次浏览 161人参与
