Code Forces 538 C. Tourist's Notes(贪心)
来源:互联网 发布:万方数字化期刊数据库 编辑:程序博客网 时间:2024/05/21 09:59
Description
一个旅行者在外旅行n天,第i天所在地方的海拔为hi,相邻两天的海拔之差不超过1。给出部分天数的海拔,问这个人在这n天中,所到地方的最高海拔是多少?如果根据给出的数据不符合题意描述,即出现相邻两天的海拔之差超过1,输出“IMPOSSIBLE”
Input
第一行两个整数n和m分别表示旅行者旅行天数和给出海拔的天数,之后m行每行两个整数d和h表示第d天海拔为h
Output
输出最高海拔,如果数据不符则输出IMPOSSIBLE
Sample Input
8 2
2 0
7 0
Sample Output
2
Solution
简单贪心,两个已经给出海拔的日期之间前半段往上爬,后半段往下爬才能到达最高海拔
Code
#include<cstdio>#include<cstring>#include<cmath>#include<iostream>#include<algorithm>#include<functional>using namespace std;int main(){ int n,m,d1,d2,h1,h2,Max,flag=1; scanf("%d%d%d%d",&n,&m,&d1,&h1); Max=h1; for(int i=1;i<m;i++) { scanf("%d%d",&d2,&h2); if(abs(h2-h1)>d2-d1)//数据不符 flag=0; else Max=max(Max,(d2-d1+h1+h2)/2);//可能的最高海拔 d1=d2; h1=h2; } Max=max(Max,n-d1+h1);//最后几天一直往高出爬的情况 if(m==1)//只给出一天海拔的情况 printf("%d\n",max(d1+h1-1,h1+n-d1)); else { if(flag) printf("%d\n",Max); else printf("IMPOSSIBLE\n"); } return 0; }
0 0
- Code Forces 538 C. Tourist's Notes(贪心)
- CF 538C(Tourist's Notes-贪心)
- CodeForce 538C Tourist's Notes(贪心 + 数学)
- codefores 538-C. Tourist's Notes(数学)
- Codeforces Round #300-Tourist's Notes(贪心)
- CodeForces 538C Tourist's Notes (简单题)
- codeforces #300 C. Tourist's Notes
- Code Forces 583 B. Robot's Task(贪心)
- [CF538C]Tourist's Notes
- Code Forces 557 C. Arthur and Table(贪心)
- Code Forces 581 C. Developing Skills(贪心)
- Code Forces 496 C. Removing Columns(贪心)
- Code Forces 538 B. Quasi Binary(贪心)
- #300 (div.1 2) C. Tourist's Notes
- Code Forces 448C Painting Fence 贪心递归
- Code Forces #5C
- Code forces 612C
- Code Forces 587 A. Duff and Weight Lifting(贪心)
- 优化gcd
- 二叉树的创建和遍历
- 【从零开始学NGUI 】 (九)分页效果实现
- USACO Section 1.3 : Calf Flac (calfflac)
- 庞贝中文离线地图App上线
- Code Forces 538 C. Tourist's Notes(贪心)
- android仿ios时间控件
- A*算法—第K短路
- 监听EditText的输入
- ExtJs使用总结
- 记一次通过监听连接数据库显示SYSDATE异常解决方案
- HDU1276:士兵队列训练
- [leetcode ]220.Contains Duplicate III
- VMware虚拟机无法识别U盘解决方案