[求助]数列级差
题目在这里~
http://acm.hit.edu.cn/ojs/show.php?Proid=1062&Contestid=0
麻烦大家帮帮忙,我提交上去一直错
我是新手,题目不是很难
----------------解决方案--------------------------------------------------------
我用自己的思路写了,但是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的小,不知道怎么回是
----------------解决方案--------------------------------------------------------