Restaurant
2016-07-21 20:21
344 查看
I - Restaurant
Time Limit:4000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
A restaurant received n orders for the rental. Each rental order reserve the restaurant for a continuous period of time, the i-th
order is characterized by two time values — the start time li and the finish time ri (li ≤ ri).
Restaurant management can accept and reject orders. What is the maximal number of orders the restaurant can accept?
No two accepted orders can intersect, i.e. they can't share even a moment of time. If one order ends in the moment other starts, they can't be accepted both.
Input
The first line contains integer number n (1 ≤ n ≤ 5·105) — number of orders. The following n lines
contain integer values li and rieach (1 ≤ li ≤ ri ≤ 109).
Output
Print the maximal number of orders that can be accepted.
Sample Input
Input
Output
Input
Output
Input
Output
AC代码:
Time Limit:4000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
A restaurant received n orders for the rental. Each rental order reserve the restaurant for a continuous period of time, the i-th
order is characterized by two time values — the start time li and the finish time ri (li ≤ ri).
Restaurant management can accept and reject orders. What is the maximal number of orders the restaurant can accept?
No two accepted orders can intersect, i.e. they can't share even a moment of time. If one order ends in the moment other starts, they can't be accepted both.
Input
The first line contains integer number n (1 ≤ n ≤ 5·105) — number of orders. The following n lines
contain integer values li and rieach (1 ≤ li ≤ ri ≤ 109).
Output
Print the maximal number of orders that can be accepted.
Sample Input
Input
2 7 11 4 7
Output
1
Input
5 1 2 2 3 3 4 4 5 5 6
Output
3
Input
6
4 8
1 5
4 7
2 5
1 36 8
Output
2
AC代码:
#include<stdio.h> #include<algorithm> using namespace std; struct node { __int64 u; __int64 v; } a[1100002]; bool cmp(node A,node B) { return A.v <B.v ; } int main() { __int64 n,i; while(scanf("%I64d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%I64d%I64d",&a[i].u ,&a[i].v ); } sort(a,a+n,cmp); __int64 sum=1; __int64 temp=a[0].v; for(i=1;i<n;i++) { if(a[i].u>temp) { temp=a[i].v; sum++; } } printf("%I64d\n",sum); } return 0; }
相关文章推荐
- Hibernate中,One2Many和Many2One的双向映射关系的XML实现方式
- 用slf4j+logback实现多功能日志解决方案 --- 转
- linker command failed with exit code 1 (use -v to see invocation)
- linker command failed with exit code 1 (use -v to see invocation)
- HDU 4268-Alice and Bob-贪心
- ifconfig command not found
- 告诉你一个java对象占用的内存大小的方法
- 引用传递&值传递
- 项目打包版本号维护
- 一个二分类的例子
- MySQL学习笔记(四)—存储过程
- 软件悬浮窗的隐藏
- 【转载】.NET程序员走向高端必读书单汇总
- 树形DP——Party a Haili-Bula ( HDU 3342 )
- UVA - 10499 The Land of Justice
- 【CodeForces】612A - The Text Splitting(枚举)
- Hadoop的优化(Shuffle过程)
- spring配置文件中classpath路径解析
- 1003. 我要通过!(20)
- POJ 3669 Meteor Shower