POJ PKU 2673 模拟
(2010-04-22 18:11:55)
标签:
pojpku2673it |
分类: 杂题 |
题目描述:一个人有t秒时间,每秒能干x量的工作。有m只动物,开始时,第i只动物离人有di的距离,它的速度是si每秒。只要人干活,动物就朝人走,如果不干活,动物就原路返回。
要求动物不能达到人,问人最多能干多少工作。
解题报告:
首先得到最先到达人的动物的时间,记下这个时间减一记作re,所以人第一次停止工作是在re 1秒的时候。
所以,如果re == 0,工作量只能是0.
如果re >= t,那人就不用停止工作,工作量最大:t * x。
最后,re < t,首先人能工作re的时间,剩下的时间可以认为休息1秒(同时动物往回跑一秒),然后工作一秒,所以剩下的时间平分就是工作时间。答案 (re (t - re) / 2) * x
代码如下:
#include<iostream>
using namespace std;
int t, x, m, d, s, re;
int main()
{
}