您的位置:首页 > 其它

Vijos 1836题:HYS与七夕节大作战

2017-10-20 09:34 197 查看
背景

一年一度的七夕节到了,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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vijos 算法