華為OD機(jī)試-通過軟盤拷貝文件
有一名科學(xué)家想要從一臺(tái)古董電腦中拷貝文件到自己的電腦中加以研究。但此電腦除了有一個(gè)3.5寸軟盤驅(qū)動(dòng)器以外,沒有任何手段可以將文件持貝出來,而且只有一張軟盤可以使用。因此這一張軟盤是唯一可以用來拷貝文件的載體??茖W(xué)家想要盡可能多地將計(jì)算機(jī)中的信息拷貝到軟盤中,做到軟盤中文件內(nèi)容總大小最大。已知該軟盤容量為1474560字節(jié)。文件占用的軟盤空間都是按塊分配的,每個(gè)塊大小為512個(gè)字節(jié)。一個(gè)塊只能被一個(gè)文件使用??截惖杰洷P中的文件必須是完整的,且不能采取任何壓縮技術(shù)。
輸入描述
第1行為一個(gè)整數(shù)N,表示計(jì)算機(jī)中的文件數(shù)量。1<= N<= 1000
接下來的第2行到第N+1行(共N行),每行為一個(gè)整數(shù),表示每人文件的大小Si,單位為字節(jié).
0<=i<Ni<=Si
輸出描述
科學(xué)家最多能拷貝的文件總大小
備注
為了充分利用軟盤空間,將每個(gè)文件在軟盤上占用的塊記錄到本子上。即真正占用軟盤空間的只有文件內(nèi)容本身
示例1:
輸入
3
737270
737272
737288
輸出
1474542
說明
3個(gè)文件中,每個(gè)文件實(shí)際占用的大小分別為737280字節(jié)737280字節(jié)、737792字節(jié)。
只能選取前兩個(gè)文件,總大小為1474542字節(jié)。雖然后兩個(gè)文件總大小更大且未超過1474560字節(jié),但因?yàn)閷?shí)際占用的大小超過了1474560字節(jié),所以不能選后兩個(gè)文件
示例2:
輸入
6
400000
200000
200000
200000
400000
400000
輸出
1400000
說明
從6個(gè)文件中,選擇3個(gè)大小為400000的文件和1個(gè)大小
為200000的文件,得到最大總大小為1400000.
也可以選擇2個(gè)大小為400000的文件和3個(gè)大小為200000的文件,得到的總大小也是1400000
Java 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/130921622
Python實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/130978498
C++ 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131023573
JavaScript實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131080191
C實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/129190260