Bzoj3431 [usaco2014 Jan] Bessie slows down

Source: Internet
Author: User
Description

[Brian Dean, 2014] Bessie the cow is competing in a cross-country skiing event at the winter moolympus mpic games. she starts out at a speed of 1 meter per second. however, as she becomes more tired over time, she begins to slow down. each time Bessie slows down, her speed decreases: She moves at 1/2 meter per second after slowing down once, then 1/3 meter per second after slowing down twice, and so on. you are told when and where Bessie slows down, in terms of a series of events. an event like this:

T 17

Means that Bessie slows down at a specific time -- here, 17 seconds into the race. An event like this:

D 10

Means that Bessie slows down at a specific distance from the start -- in this case, 10 meters. given a list of N such events (1 <= n <= 10,000), please compute the amount of time, in seconds, for Bessie to travel an entire kilometer. round your answer to the nearest integer second (0.5 rounds up to 1 ).

 

The initial speed of the cow is 1 m/s, and the speed after the I-th deceleration is 1/(I + 1) m/s. Given n deceleration events, t x indicates slowing down at X second, d x indicates slowing down at X meter away from the starting point. The deceleration event is not given in chronological order and may occur at the same time.

 

Input

* Line 1: The value of N.

* Lines 2 .. 1 + N: each line is of the form "t x" or "d x", indicating a time event or a distance event. in both cases, X is an integer that is guaranteed to place the event before Bessie reaches one kilometer of total distance. it is possible for multiple events to occur simultaneously, causing Bessie to slow down quite a bit all at once. events may not be listed in order.

Output

* Line 1: The total time required for Bessie to travel 1 kilometer.

Sample input2
T 30
D 10

Input details: Bessie slows down at time t = 30 and at distance d = 10. Sample output2970

Output details: Bessie travels the first 10 meters at 1 meter/Second, taking 10 seconds. she then slows down to 1/2 meter/Second, taking 20 seconds to travel the next 10 meters. she then reaches the 30 second mark, where she slows down again to 1/3 meter/second. the remaining 980 meters therefore take her 980*3 = 2940 seconds. the total time is therefore 10 + 20 + 2940 = 2970. hint

 

Update time at the same time during enumeration distance

 

 1 #include<cstdio> 2 #include<cmath> 3 #include<algorithm> 4 #define inf 598460606 5 using namespace std; 6 int n,per=1; 7 int lt,ld,nt=1; 8 char ch[2]; 9 double t[20000],d[20000],x,nowt;10 int main()11 {12     scanf("%d",&n);13     for (int i=1;i<=n;i++)14      {15         scanf("%s%lf",ch,&x);16         if (ch[0]==‘T‘)t[++lt]=x;17         else d[++ld]=x;18      }19     d[++ld]=0;20     d[++ld]=1000;21     sort(d+1,d+ld+1);22     sort(t+1,t+lt+1);23     for(int i=1;i<ld;i++)24       {25         double nd=d[i];26         while (nd<d[i+1]&&nt<=lt&&nowt+(d[i+1]-nd)*per>t[nt])27         {28             nd+=(t[nt]-nowt)/per;29             per++;30             nowt=t[nt++];31         }32         nowt+=(d[i+1]-nd)*per;33         per++;34       }35     if (nowt-(int)nowt>0.5)nowt=(int)nowt+1;36     else nowt=(int)nowt;37     printf("%.0lf\n",nowt);38 }
Bzoj3431

 

Bzoj3431 [usaco2014 Jan] Bessie slows down

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.