现在的位置: 首页 > 综合 > 正文

A. Lunch Rush

2012年12月04日 ⁄ 综合 ⁄ 共 1569字 ⁄ 字号 评论关闭
time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

Having written another programming contest, three Rabbits decided to grab some lunch. The coach gave the team exactly ktime units for the
lunch break.

The Rabbits have a list of n restaurants to lunch in: the i-th
restaurant is characterized by two integers fi and ti.
Value tishows
the time the Rabbits need to lunch in the i-th restaurant. If time ti exceeds
the time k that the coach has given for the lunch break, then the Rabbits' joy from lunching in this restaurant will equal fi - (ti - k).
Otherwise, the Rabbits get exactly fiunits
of joy.

Your task is to find the value of the maximum joy the Rabbits can get from the lunch, depending on the restaurant. The Rabbits must choose exactly one restaurant to lunch in. Note that the joy
value isn't necessarily a positive value.

Input

The first line contains two space-separated integers — n (1 ≤ n ≤ 104)
and k (1 ≤ k ≤ 109)
— the number of restaurants in the Rabbits' list and the time the coach has given them to lunch, correspondingly. Each of the next n lines
contains two space-separated integers — fi (1 ≤ fi ≤ 109)
and ti (1 ≤ ti ≤ 109)
— the characteristics of the i-th restaurant.

Output

In a single line print a single integer — the maximum joy value that the Rabbits will get from the lunch.

Sample test(s)
input
2 5
3 3
4 5
output
4
input
4 6
5 8
3 6
2 3
2 2
output
3
input
1 5
1 7
output
-1

解题说明:此题就是判断一个最大值的问题,不需要记录全部值,只需要记录一个最大值即可

#include <iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;

int main()
{
	int i,n;
	double k,max;
	double f,t,temp;
	scanf("%d %lf",&n,&k);
	max=-1000000000;
	for(i=0;i<n;i++)
	{
		scanf("%lf %lf",&f,&t);
		if(t>k)
		{
			temp=f-(t-k);
		}
		else
		{
			temp=f;
		}
		if(temp>max)
		{
			max=temp;
		}
	}
	printf("%.0lf\n",max);
    return 0;
}

抱歉!评论已关闭.