当前位置: 代码迷 >> C语言 >> [求助]数列级差
  详细解决方案

[求助]数列级差

热度:177   发布时间:2007-01-29 18:34:26.0
[求助]数列级差

题目在这里~
http://acm.hit.edu.cn/ojs/show.php?Proid=1062&Contestid=0

麻烦大家帮帮忙,我提交上去一直错


我是新手,题目不是很难
搜索更多相关的解决方案: 级差  php  acm  

----------------解决方案--------------------------------------------------------
我用自己的思路写了,但是WR,
我觉得是先排序,然后max是从左开始操作,min是从右开始操作,然后注意n=1,n=2的情况,但是WR,不知道LZ是怎么想的
----------------解决方案--------------------------------------------------------

我和你一样的,我证明了,从小到大后剩的是最大.反之最小


----------------解决方案--------------------------------------------------------
我也一直wr.哎~
----------------解决方案--------------------------------------------------------
会不会是溢出呢?既然他的N最大值是50000, 那求最后一个数的时候,不管是最大还是最小.都会大得惊人
比如 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 就非常大,才15个数

----------------解决方案--------------------------------------------------------

哦,是啊,没考虑到这个,看来要调整一下思路了


----------------解决方案--------------------------------------------------------
AC了,其实我犯了一个很大的错误,不是按照排完序的顺序操作,而是每次都取最大(最小)的2个数,至于数据益出的问题,我想测试数据都控制好的,我用int,LZ再写写看,一定可以AC的
----------------解决方案--------------------------------------------------------
我是每次都取大(最小的2个数)~~你发几组测试数据过来好不?
3Q~~~~~~~~~
你的 1 是怎么样处理的?直接输出读入的数吗?

----------------解决方案--------------------------------------------------------
n=1 || n=2 直接输出0,
你试试
4
2 3 4 5
max=148
min=149
----------------解决方案--------------------------------------------------------
AC了~是个我不明白的错,我把这一段代码贴上来

AC: [CODE] hold = w_arr[i] * w_arr[i + 1] + 1;
j = hold;
w_arr[i + 1] = j;[/CODE]

WR: [CODE]hold = w_arr[i] * w_arr[i + 1] + 1;
w_arr[i + 1] = hold;[/CODE]

WR的代码,第一句正常,但是第二句的时候w_arr[i + 1]的值总比hold的小,不知道怎么回是
----------------解决方案--------------------------------------------------------
  相关解决方案