Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:看不懂题目呀,哪位大哥帮帮忙!!In Reply To:Re:看不懂题目呀,哪位大哥帮帮忙!! Posted by:ecjtuQX at 2008-10-01 21:17:45 program Montyly_Expense ; const maxn = 110000 ; var a : array[1..maxn] of longint ; n , m , max , sum : longint ; procedure enter ; var i : longint ; begin readln( n , m ) ; max := -( maxlongint - 1 ) ; sum := 0 ; for i := 1 to n do begin readln( a[i] ) ; inc( sum , a[i] ) ; if a[i] > max then max := a[i] ; end ; end ; function work( k : longint ) : longint ; var i , t : longint ; begin work := 1 ; t := 0 ; for i := 1 to n do if t + a[i] <= k then inc( t , a[i] ) else begin inc( work ) ; t := a[i] ; end ; end ; procedure solve ; var k1 , k2 , k3 : longint ; begin k1 := max ; k2 := sum ; repeat k3 := ( k1 + k2 ) shr 1 ; if work( k3 ) > m then k1 := k3 + 1 else k2 := k3 ; until k1 >= k2 ; writeln( k1 ) ; end ; begin assign( input , 't3273.in' ) ; reset( input ) ; assign( output , 't3273.out' ) ; rewrite( output ) ; enter ; solve ; close( input ) ; close( output ) ; end . 110ms 二分晕呼呼的就过去了。。。 Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator