关注
03题的代码: #include <stdio.h>
#include <vector>
#include <algorithm>
#include <string.h>
#include <limits.h>
#include <string>
#include <iostream>
#include <queue>
#include <math.h>
#include <map>
#include <stack>
#include <set>
#include <list>
#include <forward_list>
#define left (now<<1)
#define right ((now<<1)+1)
#define mid ((l + r) >> 1)
#define midmid ((r + mid) >> 1)
#define LONG_LONG_MIN -9223372036854775808ll
#define LONG_LONG_MAX 9223372036854775807ll
using namespace std;
typedef long long int ll;
const int MAXN = 2e6 + 10;
const int MOD = 1e9 + 7;
ll dp[MAXN];
ll dl[30],cost[30];
int sum,n;
ll dfs(int now){
if(dp[now] != -1){ return dp[now];}
if(now == sum){
return dp[now] = 0;
}
dp[now] = LONG_LONG_MAX / 2;
ll nowday = 0;
for(int i = 0; i <= n - 1; ++i){
int p = 1 << i;
if((p & now) == 0){
nowday = nowday + cost[i + 1];
}
}
for(int i = 0; i <= n - 1; ++i){
int p = 1 << i;
if((p & now) == 0){
int st = p | now;
ll need = max(0ll,nowday - dl[i + 1]);
dp[now] = min(dp[now],dfs(st) + need);
}
}
return dp[now];
}
int main(){
while(scanf("%d",&n)!=EOF){
for(int i = 1; i <= n; ++i){
scanf("%lld%lld",&dl[i],&cost[i]);
}
memset(dp,-1,sizeof(dp)); sum = (1 << n) - 1;
dfs(0);
printf("%lld\n",dp[0]);
}
return 0;
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
牛客72783561...:简历不是这么写的,你这两个项目只说了用到了什么技术,却没说取得了什么成果,在我看来这就是你自己做的一个demo,没有价值。你为什么不写你电赛国二的那个项目? 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
125710次浏览 2124人参与
# 实习简历求拷打 #
18251次浏览 212人参与
# 找不到实习会影响秋招吗 #
1398344次浏览 13621人参与
# 秋招被挂春招仍然能投的公司 #
8224次浏览 109人参与
# 作业帮求职进展汇总 #
84421次浏览 556人参与
# mt对你说过最有启发的一句话 #
39998次浏览 459人参与
# 投格力的你,拿到offer了吗? #
153818次浏览 826人参与
# 什么是优秀的实习经历 #
10204次浏览 232人参与
# 摸鱼被leader发现了怎么办 #
105108次浏览 662人参与
# 担心入职之后被发现很菜怎么办 #
267118次浏览 1137人参与
# 找不到好工作选择GAP真的丢人吗 #
93476次浏览 1006人参与
# 选实习,你更看重哪方面? #
15816次浏览 265人参与
# 秋招特别不鸣谢 #
17094次浏览 187人参与
# 外包能不能当跳板? #
54409次浏览 256人参与
# 考研失败就一定是坏事吗? #
203173次浏览 1392人参与
# 携程工作体验 #
18637次浏览 65人参与
# 京东美团大战,你怎么看? #
158540次浏览 861人参与
# 为了找工作你花了哪些钱? #
74958次浏览 361人参与
# 第一次面试 #
1037125次浏览 13683人参与
# 五一之后,实习真的很难找吗? #
94630次浏览 569人参与