返回

UVA11729 Commando War

发布时间:2022-11-28 11:56:21 261
# c++

题目链接:​​https://vjudge.net/problem/UVA-11729​​​
题意:有n个士兵,有n个任务,你要给这n个士兵下达任务,每个士兵你需要花费bi的时间下达任务,这个士兵需要花费ji的时间完成,你只有给一个士兵下达完任务以后才能给其他士兵下达任务,问你如何给士兵下达任务,才能使得完成所有任务的时间最小
解析:肯定是优先给完成任务时间长的士兵下达任务,因为下达任务的时间是不可避免的,但是完成任务的时间确可以和下达任务的时间重叠,所有完成任务时间越长的越先接到命令是越好的

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e3+10;
struct node
{
int b,j;
bool operator < (const node &b)const
{
return j>b.j;
}
}a[maxn];
int main(void)
{
int n,case_t = 1;
while(~scanf("%d",&n)&&n)
{
for(int i=0;i<n;i++)
scanf("%d %d",&a[i].b,&a[i].j);
sort(a,a+n);
int maxx = 0,ans = 0;
for(int i=0;i<n;i++)
{
ans += a[i].b;
maxx = max(maxx,ans+a[i].j);
}
printf("Case %d: %d\n",case_t++,maxx);
}
return 0;
}

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
UVA11292 Dragon of Loowater 2022-11-28 11:27:25