Code Forces 558 A. Lala Land and Apple Trees(水~)
2015-07-27 11:19
267 查看
Description
坐标轴两端有一些苹果树,每棵树上有一定量的苹果,小明从原点出发向一个方向前进,遇到苹果树就摘下所有苹果并反向,依次类推,问小明能够摘到的最大苹果数
Input
第一行为苹果树数量n,之后n行每行两个整数x和a表示苹果树的位置及其数量
Output
输出小明能够摘到的最大苹果数
Sample Input
3
-2 2
1 4
-1 3
Sample Output
9
Solution
水题,坐标为正和为负的苹果树数量相同则全可以摘下,否则就是多的一边多摘一棵树的苹果
Code
坐标轴两端有一些苹果树,每棵树上有一定量的苹果,小明从原点出发向一个方向前进,遇到苹果树就摘下所有苹果并反向,依次类推,问小明能够摘到的最大苹果数
Input
第一行为苹果树数量n,之后n行每行两个整数x和a表示苹果树的位置及其数量
Output
输出小明能够摘到的最大苹果数
Sample Input
3
-2 2
1 4
-1 3
Sample Output
9
Solution
水题,坐标为正和为负的苹果树数量相同则全可以摘下,否则就是多的一边多摘一棵树的苹果
Code
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; struct node { int pos,num; }app[111]; int cmp(node a,node b) { return a.pos<b.pos; } int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&app[i].pos,&app[i].num); sort(app+1,app+n+1,cmp); int i=1; while(app[i].pos<0) i++; i--; int ans=0; if(i<=n/2) for(int j=0;j<=min(2*i+1,n);j++) ans+=app[j].num; else for(int j=2*i-n;j<=n;j++) ans+=app[j].num; printf("%d\n",ans); return 0; }
相关文章推荐
- Unity导入FBX文件部分模型丢失材质的BUG
- iOS Sprite Kit教程之真机测试以及场景的添加与展示
- android学习记录(三)百度地图错误---只有一个电话显示帧,没有地图内容。
- Swift学习笔记(十四)——字符,常量字符串与变量字符串
- Android学习笔记(0)
- MyBasketball 第一篇
- android bindService()
- android imageview围绕中心旋转动画
- iOS 性能优化:Instruments 工具的救命三招
- 测试你的 In-app Billing 程序
- iOS利用Runtime自定义控制器POP手势动画
- iOS DEV info 启动画面 icon
- 【Android】Android布局中实现圆角边框
- iOS tableView索引
- Iterator迭代器、Comparable、Comparator比较器
- android电池驱动(四)(自用)
- 简单实现listview可选择的列表(不用重写adapter)
- android电池驱动(五)(自用)
- Android SwipeToDismiss:左滑/右滑删除ListView条目Item
- Android代码中动态设置图片的大小(自动缩放),位置