不难,结果:

程序:

import java.math.*;
import java.util.*; public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
Integer n;
n = cin.nextInt();
long a[] = new long [1005];
BigInteger b[] = new BigInteger [1005];
BigInteger c[] = new BigInteger [1005];
long Maxx = 0;
for(int i = 0; i < n; i++)
{
a[i] = cin.nextLong();
if(a[i]>Maxx) Maxx = a[i];
}
int k = 0;
for(int i = 0; i < n; i++)
{
if(a[i] == Maxx) continue;
else
{
b[i] = BigInteger.valueOf(Maxx * a[i]);
c[i] = BigInteger.valueOf(2 * (Maxx - a[i]));
k = i;
}
}
BigInteger t = BigInteger.ONE;
for(int i = 0; i < n; i++)
{
if (a[i]==Maxx) continue;
t = b[k].multiply(c[i]).gcd(b[i].multiply(c[k]));
b[k] = b[k].multiply(c[i]).multiply(b[i].multiply(c[k])).divide(t);
c[k] = c[k].multiply(c[i]);
t = b[k].gcd(c[k]);
b[k] = b[k].divide(t);
c[k] = c[k].divide(t);
}
System.out.println(b[k]+" "+c[k]);
}
}
}

很邪门的是,时限2000ms,java用了4094ms。。

另外更邪门的是,下面这个程序在本地,3 1 1 1这组都说除以0。。费解!

import java.math.*;
import java.util.*; public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
Integer n;
n = cin.nextInt();
BigInteger a[] = new BigInteger [1005];
BigInteger b[] = new BigInteger [1005];
BigInteger c[] = new BigInteger [1005];
BigInteger Maxx = BigInteger.valueOf(0);
for(int i = 0; i < n; i++)
{
a[i] = cin.nextBigInteger();
if(a[i].compareTo(Maxx) == 1) Maxx = a[i];
}
int k = 0;
for(int i = 0; i < n; i++)
{
if(a[i] == Maxx) continue;
else
{
b[i] = Maxx.multiply(a[i]);
c[i] = (Maxx.subtract(a[i])).multiply(BigInteger.valueOf(2));
k = i;
}
}
BigInteger t = BigInteger.ONE;
for(int i = 0; i < n; i++)
{
if (a[i]==Maxx) continue;
t = b[k].multiply(c[i]).gcd(b[i].multiply(c[k]));
b[k] = b[k].multiply(c[i]).multiply(b[i].multiply(c[k])).divide(t);
c[k] = c[k].multiply(c[i]);
t = b[k].gcd(c[k]);
b[k] = b[k].divide(t);
c[k] = c[k].divide(t);
}
System.out.println(b[k]+" "+c[k]);
}
}
}

poj3101的更多相关文章

  1. poj分类 很好很有层次感。

    初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      ( ...

  2. 【转】POJ题目分类推荐 (很好很有层次感)

    OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期: 一. ...

  3. 【转】ACM训练计划

    [转] POJ推荐50题以及ACM训练方案 -- : 转载自 wade_wang 最终编辑 000lzl POJ 推荐50题 第一类 动态规划(至少6题, 和 必做) 和 (可贪心) (稍难) 第二类 ...

  4. POJ 题目分类(转载)

    Log 2016-3-21 网上找的POJ分类,来源已经不清楚了.百度能百度到一大把.贴一份在博客上,鞭策自己刷题,不能偷懒!! 初期: 一.基本算法: (1)枚举. (poj1753,poj2965 ...

  5. (转)POJ题目分类

    初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推. ...

  6. acm常见算法及例题

    转自:http://blog.csdn.net/hengjie2009/article/details/7540135 acm常见算法及例题  初期:一.基本算法:     (1)枚举. (poj17 ...

  7. poj分类

    初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      ( ...

  8. 转载 ACM训练计划

    leetcode代码 利用堆栈:http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/http://oj.leetcode. ...

  9. ACM算法总结及刷题参考

    参考:http://bbs.byr.cn/#!article/ACM_ICPC/11777 OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,p ...

随机推荐

  1. 事件——《JS高级程序设计》

    一. 事件流 1. 事件流描述的是从页面中接收事件的顺序 2. 事件冒泡(event bubble):事件从开始时由最具体的元素(就是嵌套最深的那个节点)开始,逐级向上传播到较为不具体的节点(就是Do ...

  2. php获得当前日期时间 date函数

    time()得到从1970-01-01到现在共走了多少秒 要找出前一天的时间就是 time()-60*60*24; 要找出前一年的时间就是 time()*60*60*24*365 那么如何把这个数字换 ...

  3. HDOJ 4893 Wow! Such Sequence!

    题意是这样的,给定一个n个元素的数组,初始值为0,3种操作: 1 k d将第k个数增加d: 2 l r 询问区间l...r范围内数之和: 3 l r 表示将区间l...r内的数变成离他最近的斐波那契数 ...

  4. UVA 10896 Sending Email

    这个题目真是伤透脑筋了,一直RE,连着改了好几个版本,又是spfa,又是单调队列dijkstra+单调队列,总是不过,后来发现M开小了,双向边应该开m的两倍,悲剧啊!!!以后不管怎样,数组一定要尽量开 ...

  5. 应付期间 Payables Periods

    (N) AP > Accounting > Control payables periods Click [Period Status] column to Open.

  6. BZOJ_1221_ [HNOI2001]_软件开发(最小费用流,网络流24题#10)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1221 n天,每天需要r个毛巾,用完以后可以洗,要么花fa洗a天,要么花fb洗b天,毛巾不够了可 ...

  7. 一例胜千言,详谈SQL Sever数据库锁

    1 前言 数据库大并发操作要考虑死锁和锁的性能问题.看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一 ...

  8. FZU2224 An exciting GCD problem 区间gcd预处理+树状数组

    分析:(别人写的) 对于所有(l, r)区间,固定右区间,所有(li, r)一共最多只会有log个不同的gcd值, 可以nlogn预处理出所有不同的gcd区间,这样区间是nlogn个,然后对于询问离线 ...

  9. LoadRunner 你不知道的事之——内存使用

    LoadRunner的使用相信大家很熟悉,但是可能很少有人去关注一个Vuser 在以线程模式和进程模式下的内存开销情况,下面通过个人的试验得出一组数据供大家参考,只有你真正了解了,才能做的更深入. 测 ...

  10. 测试一个函数的运行时间(C++)

    #include <ctime> static clock_t Start,Finish; Start=clock(); fun(); Finish = clock(); double t ...