题目:
工作选择 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≤di ,ti≤1000。
对于 100%100% 的数据 3≤n≤5000,1≤di,ti ≤108。
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];
}
}