背景
一年一度的七夕节到了,HYS又开始烦恼他的约会安排,作为一名后辈,你被他选中来帮助他。
描述
由于HYS有很多名女友,所以他不可能在一天之内和所有的女友都进行约会,于是你决定帮他选定一些女友进行约会。每一个女友的约会都不相同,和一名女友约会,会需要T的时间,而每一个女友的重要度不尽相同。时间是宝贵的,一天只有24hrs,所以你决定帮他安排好一个计划,可以让他尽量和最重要的女友"们"约会。但是,当你收到他的女友名单的时候,你发现女友的数量实在太多了,不得不借助计算机来帮你安排。当然,HYS在同一时间不可能和两个女友约会,但是约会的先后顺序没有影响。
格式
输入格式
第一行有一个数N,代表HYS的女友数量。
之后第2行到N+1行每行有两个数,T和V。分别代表约会所需要的时间(表示为占一天的百分比)和女友的重要度。
输出格式
第一行输出一个数,表示在你的安排下,与HYS约会的女友的重要度之和(要求精确到小数点后5位)。
样例1
样例输入1
8
37.50000 5
12.50000 5
6.75000 3
6.75000 3
12.50000 4
25.00000 5
6.75000 3
8.00000 4
样例输出1
27
限制
1≤N≤1000;
1≤V≤5;
0≤T≤100;
其中T的精度保证和输出精度一致。
#include<iostream>
#include<algorithm>
using namespace std;
long long n, tt, v;
long double t, a[100001];
int main()
{
std::ios::sync_with_stdio(false);
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> t >> v;
tt = t * 1000;
for (int j = 100000; j >= tt; j--)
a[j] = max(a[j], a[j - tt] + v);
}
cout << a[100000] << endl;
return 0;
}