【问题描述】

一队蚂蚁在一根水平杆上行走,每只蚂蚁固定速度 1cm/s. 当一只蚂蚁走到杆的尽头时,立即从秆上掉落. 当两只蚂蚁相遇时它们会掉头向相反的方向前进. 我们知道每只蚂蚁在杆上的初始位置, 但是, 我们不知道蚂蚁向哪个方向前行. 你的任务是计算所有蚂蚁都杆上掉落可能的最短时间和最长时间.

【输入描述】

第一行包含一个整数,给出测试实例数量. 每组数据开始有两个整数: 杆的长度 (单位:cm) 和杆上蚂蚁数量 n. 之后是 n 个整数给出每只蚂蚁从杆的最左边开始的位置, 且是无序的. 输入的每个整数都不大于 1000000 ,两个数字用空格分开.

【输出描述】

对于每组输入输出两个整数. 第一个整数表示所有蚂蚁从杆上掉落可能的最短时间(如果它们前行方向选择得当) ,第二个整数表示可能的最长时间.

【样例输入】

2
10 3
2 6 7
214 7
11 12 7 13 176 23 191

【样例输出】

4 8
38 207

两个蚂蚁相遇以后如果在调转方向,该过程太过复杂,可以看成两个蚂蚁在相遇以后交换位置(或者可以看成直接沿一个方向走到头)

AC代码一:

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 1000000+10;int a[maxn];int main ()
{int T,n,tmin,tmax,i,l,l2;scanf("%d",&T);while(T--){tmin=0;scanf("%d%d",&l,&n);for(i=0;i<n;i++){scanf("%d",&a[i]);}sort(a,a+n);tmax=max(l-a[0],a[n-1]);tmin=min(a[0],l-a[0]);for(i=1;i<n;i++){tmin=max(tmin,min(a[i],l-a[i]));}printf("%d %d\n",tmin,tmax);}return 0;
}

AC代码二:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn=1000000;
int small[maxn],big[maxn];int main()
{int t,length,mynum,weizhi,i,j,m;scanf("%d",&t);while(t--){j=0;m=0;memset(small,0,sizeof(small));memset(big,0,sizeof(big));scanf("%d",&length);scanf("%d",&mynum);for(i=0;i<mynum;i++){scanf("%d",&weizhi);if(weizhi>length/2){big[m++]=weizhi;small[j++]=length-weizhi;}else{big[m++]=length-weizhi;small[j++]=weizhi;}}sort(small,small+j);sort(big,big+m);printf("%d %d\n",small[j-1],big[m-1]);} return 0;
} 

【ACM】POJ 1852相关推荐

  1. 【ACM】POJ 3069

    [问题描述] Saruman the White must lead his army along a straight path from Isengard to Helm's Deep. To k ...

  2. 【ACM】POJ 1664

    现在还不能理解为什么 至少有一个盘子用f(m,n-1)表示就可以了 AC: #include <iostream> #include <cstdio> using namesp ...

  3. 【题解】POJ 1852 Ants(搜索)

    POJ1852 Ants 目录 POJ1852 Ants 原题 题意 题解 原题 An army of ants walk on a horizontal pole of length l cm, e ...

  4. 【ACM】杭电OJ 2149

    Public Sale [问题描述] 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的命运,因为他没有拿到奖学金.现在等待他的,就是像FarmJohn一样的农田生涯. 要种田得有田才行,Lel ...

  5. 【ACM】Spit Problem

    [ACM]Spit Problem 题目 In a Berland's zoo there is an enclosure with camels. It is known that camels l ...

  6. 【ACM】删数问题(待更)

    [描述]键盘输入一个正整数N,去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的N和S寻找一种方案使得剩下的数字组成的新数最小.(N不超过240位,N>S) [输入] ...

  7. 【ACM】连续出现的字符

    [描述]给定一个字符串,在字符串中找到第一个连续出现k次的字符 [输入]第一行包含一个正整数k,表示至少需要连续出现的次数.1<=k<=1000.第二行包含需要查找的字符串.字符串的长度在 ...

  8. 【ACM】UVa 489 刽子手游戏(自顶向下)

    [题目] Hangman Judge是一个猜英文单字的小游戏(在电子字典中常会看到),游戏规则如下: 1.答案单字写在纸上(每个字元一张纸),并且被盖起来,玩家每次猜一个英文字元(letter). 2 ...

  9. 【ACM】Uva 455

    [题目]:如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期.输入一个长度不超过80的字符串,输出其最小正周期. 注意以下几点: 1.它的最小正周期一定可以被它的长度整除. 2第 ...

最新文章

  1. Linux下的阻塞(Block)
  2. 接私活福音,validation组件敏捷开发,效率提升5倍!
  3. 3.Struts2的输入验证
  4. 【Android 组件化】路由组件 ( 注解处理器参数选项设置 )
  5. Vue引用其他组件,但组件某些部分不需要时的简单处理
  6. django 在保存数据前进行数据校验
  7. 优先级队列 c语言,使用最小堆使用优先级队列(c语言版本)
  8. windows 邮槽mailslot 在服务程序内建立后客户端无权限访问(GetLastError() == 5)的问题...
  9. 为什么选择做班级管理系统_为什么即使在平衡的班级下准确性也很麻烦
  10. sql中 in , not in , exists , not exists效率分析
  11. 软件测试某公司面试题2014
  12. 真假难辨,AI就能分得清?
  13. 冷链场景应用实例解读
  14. Hive SQL练习题
  15. Cesium开发基础篇 | 03加载矢量数据
  16. python爱心代码简单教程
  17. 写一段潮汐调和分析的matlab代码
  18. 苹果笔记本MBP 玩大型游戏秒退之解決方法
  19. 使用Blob对象接收后台返回的图片流并展示到前端页面
  20. html名人名言页面,网页制作:关于生命的名言警句 ― 名人名言  一品故事网,Www.07938.Come...

热门文章

  1. java spring scope_如何在Spring中自定义scope的方法示例
  2. php -find(),php – beforeFind()添加条件
  3. 使用reflector对.NET反编译
  4. weblogic线程阻塞性能调优(图解)
  5. MJExtension简介
  6. JS+CSS控制左右切换鼠标可控的无缝图片滚动代码
  7. 《星际争霸2》引擎技术解析
  8. 编译android不再需要jdk1.5
  9. 功能很全的图书馆管理系统
  10. list子类使用toarray方法实现集合向数组转换,下列哪些说法是正确的