2014ACM/ICPC亚洲区北京站-A Curious Matt

A Curious Matt
Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others)
Total Submission(s): 0    Accepted Submission(s): 0

Problem Description
   There is a curious man called Matt.   One day, Matt's best friend Ted is wandering on the non-negative half of the number line.  Matt finds it interesting to know the maximal speed Ted may reach. In order to do so, Matt takes records of Ted’s position. Now Matt has a great deal of records. Please help him to find out the maximal speed Ted may reach, assuming Ted moves with a constant speed between two consecutive records.

Input
   The first line contains only one integer T, which indicates the number of test cases.   For each test case, the first line contains an integer N (2 ≤ N ≤ 10000),indicating the number of records.   Each of the following N lines contains two integers ti and xi (0 ≤ ti, xi ≤ 106), indicating the time when this record is taken and Ted’s corresponding position. Note that records may be unsorted by time. It’s guaranteed that all ti would be distinct.

Output
   For each test case, output a single line “Case #x: y”, where x is the case number (starting from 1), and y is the maximal speed Ted may reach. The result should be rounded to two decimal places.

Sample Input
2
3
2 2
1 1
3 4
3
0 3
1 5
2 0

Sample Output
Case #1: 2.00
Case #2: 5.00

HintIn the ?rst sample, Ted moves from 2 to 4 in 1 time unit. The speed 2/1 is maximal.
In the second sample, Ted moves from 5 to 0 in 1 time unit. The speed 5/1 is maximal.

Statistic | Submit | Clarifications | Back

#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
using namespace std;
const int maxn=10010;
struct  record
{
	int l,r;
}a[maxn];
bool cmp(record c,record d)
{
	return c.l<d.l;
}

int main()
{
	int T;
	scanf("%d",&T);
	for(int k=1;k<=T;k++)
	{
		int n;
		scanf("%d",&n);
		for(int i=0;i<n;i++)
		{
			scanf("%d%d",&a[i].l,&a[i].r);
		}
		sort(a,a+n,cmp);
		double maximal=0;
		for(int i=0;i<n-1;i++)
		{
		 	    if((double)(abs(a[i+1].r-a[i].r)/abs(a[i+1].l-a[i].l))>maximal)
		 	    {
		 	    	maximal=(double)abs(a[i+1].r-a[i].r)/abs(a[i+1].l-a[i].l);
		 	    }
		}
		printf("Case #%d: %.2lf\n",k,maximal);
	}
	return 0;
}
时间: 2024-11-05 11:27:46

2014ACM/ICPC亚洲区北京站-A Curious Matt的相关文章

A Curious Matt(2014ACM/ICPC亚洲区北京站)

A Curious Matt Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others) Total Submission(s): 0    Accepted Submission(s): 0 Problem Description There is a curious man called Matt. One day, Matt's best friend Ted is wander

A Curious Matt(2014ACM/ICPC亚洲区北京站-A)

A Curious Matt Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others) Total Submission(s): 0    Accepted Submission(s): 0 Problem Description There is a curious man called Matt. One day, Matt's best friend Ted is wander

HDU 5112 A Curious Matt (2014ACM/ICPC亚洲区北京站-重现赛)

A Curious Matt Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others)Total Submission(s): 3058    Accepted Submission(s): 1716 Problem Description There is a curious man called Matt. One day, Matt's best friend Ted is w

2014ACM/ICPC亚洲区北京站-A-(Curious Matt)

A Curious Matt                                   Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others) Problem Description There is a curious man called Matt. One day, Matt's best friend Ted is wandering on the non-neg

K.Bro Sorting(杭电5122)(2014ACM/ICPC亚洲区北京站)

K.Bro Sorting Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others) Total Submission(s): 67    Accepted Submission(s): 39 Problem Description Matt's friend K.Bro is an ACMer. Yesterday, K.Bro learnt an algorithm: Bubbl

Bro Sorting(2014ACM/ICPC亚洲区北京站-K)

Bro Sorting Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others) Total Submission(s): 0    Accepted Submission(s): 0 Problem Description Matt's friend K.Bro is an ACMer. Yesterday, K.Bro learnt an algorithm: Bubble so

2014ACM/ICPC亚洲区北京站-重现赛 [B.Black And White] 涂色DFS

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5113 题目大意:在一个N * M的棋盘里涂色,要求i颜色要涂ci次.ci求和为N * M. 关键思想:从第一个点开始着色,一行一行涂,注意一旦找到答案后面就不必搜,当剩下个数为n时若有种颜色>n/2上取整就不必搜了(!). #include <iostream> #include <iomanip> #include <cstdio> #include <cst

2014ACM/ICPC亚洲区北京站题解

本题解不包括个人觉得太水的题(J题本人偷懒没做). 个人觉得这场其实HDU-5116要比HDU-5118难,不过赛场情况似乎不是这样.怀疑是因为老司机带错了路. 这套题,个人感觉动态规划和数论是两个主要的考点. HDU 5113 Black And White HDU 5114 Collision HDU 5116 Everlasting L HDU 5117 Fluorescent HDU 5118 GRE Words Once More!

2014ACM/ICPC亚洲区北京站

A http://acm.hdu.edu.cn/showproblem.php?pid=5112 输入n个时刻和位置,问那两个时刻间速度最快. 解法:按照时间排序,然后依次求相邻两个之间的速度,速度=ds/dt 1 #include<cstdio> 2 #include<algorithm> 3 using namespace std; 4 const int M=1e4+10; 5 struct G{ 6 int t,x; 7 friend bool operator <(