20分求调,悬赏关注
  • 板块学术版
  • 楼主wlxzg
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/11/21 21:34
  • 上次更新2023/11/22 09:17:00
查看原帖
20分求调,悬赏关注
1011797
wlxzg楼主2023/11/21 21:34

题目:

工作选择 II 描述

小 b 有一些工作可以选择完成,每一项工作都需要占用连续的若干天的时间,但所有工作完成时均只能获得 11 的报酬,每一项工作必须要在一个规定的日期前完成才可以获得报酬。(并不是每项工作都需要完成的,你也可以选择不完成其中一些工作)

从第 11 天开始,请问如何合理地选择每天完成哪一项工作,可以最大化获得的报酬。求出最大报酬。

(报酬不可以重复获得,不能完成两次同一项工作来获得两次报酬,每一项工作最多完成一次)

输入 第一行一个正整数 nn 代表工作个数。

接下来 nn 行每行两个整数 t_i,d_it i ​ ,d i ​ 描述一个工作,分别表示完成工作需要的天数和期限。

期限为 d_id i ​ 代表该工作只有在第 d_id i ​ 天结束前完成(即选择第 d_id i ​ 天完成该工作仍可获得报酬)才可以获得报酬。

输出 一行一个整数表示答案。

输入样例 1

1 输出样例 1

1 提示

对于 40% 的数据n≤12,1≤did_i ,tit_i≤1000。

对于 100%100% 的数据 3≤n≤5000,1≤did_i,tit_i ≤10810_8。

code:

#include<bits/stdc++.h>
using namespace std;
int n,ans,a[10001];
int main()
{
   cin>>n;
   for(int i=1;i<=n;++i)
   {
   	cin>>a[i];
   }
   sort(a+1,a+1+n);
   if(a[1]==a[2])
   {
   	cout<<a[1];
   }else
   {
   	cout<<a[2];
   }
}
2023/11/21 21:34
加载中...