submit page summary time limit: 1 sec memory limit: 128 mb submitted: 100 solved: 50
description
staginner得知gestapolur的y570上有《使命召喚8》時,便決定copy到自己的本子上親自過把癮,但無奈《使命召喚8》如果壓縮成乙個檔案staginner的u盤是裝不下的。
好在gestapolur告訴staginner使用winrar可以在壓縮的時候設定壓縮分卷大小,這樣就可以在壓縮的時候將壓縮檔案分成若干個part且這些檔案總大小和壓縮成乙個檔案時是一樣的。比如如果壓縮成乙個檔案時《使命召喚8》是10250mb,設定的壓縮分卷大小是500mb,那麼最後就會產生21個part,其中有20個是500mb的,還有1個是250mb的,這也說明了在壓縮過程中會優先生成大小等於壓縮分卷值的part,當剩餘的檔案大小不足壓縮分卷值時,剩餘檔案會作為最後乙個part生成。
已知staginner一共有n個u盤及其各自的剩餘容量,《使命召喚8》壓縮成乙個檔案時的大小是m,現在他想知道如果乙個u盤裡面只能儲存乙個part,那麼在保證使用的u盤數盡可能少的情況下,壓縮分卷大小最大可以設定為多少?
input
輸入包含若干組資料,每組資料的第一行為乙個正整數n(1<=n<=100),和乙個正整數m(0< m<=10^9),表示的含義同上,其中m的單位為mb。接下一行有n個不超過10^9的正整數,分別描述了n個u盤的剩餘容量,單位同樣為mb。
資料組數不超過100組,讀入以eof結束。
output
對於每組資料,用一行輸出乙個整數,表示若乙個u盤裡面只能儲存乙個part,在保證使用的u盤數盡可能少的情況下,設定的壓縮分卷大小的最大值。
如果staginner無論如何設定壓縮分卷大小,都沒辦法在乙個u盤裡面只能儲存乙個part前提下儲存下所有的part,輸出-1即可。
sample input
3 1500
500 500 500
4 1500
100 600 700 800
3 1500
200 1000 400
sample output
500
800
-1 hint
source
csu monthly 2012 jan.
題目大意:給你n個容量各不相同的u盤,要將乙個大小為m的檔案分割成若干固定大小部分,若剩餘不足固定大小,則為剩餘量,要用這些u盤裝下這個檔案,問固定大小最大是多少?
解題思路:類似模擬,從最大容量的u盤開始,逐一去試即可。因為最大固定大小一定是u盤容量中的乙個。
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn=1e4;
int a[105];
int n,m;
int main()
if(cnt==num&&res==0)
if(cnt==num&&res!=0)}}
}if(ans==0) cout
<<-1
cout
0;}
怎樣壓縮檔案 如何給壓縮檔案加密
我們生活 工作中,會經常遇到壓縮檔案 給檔案加密的事情。有時候,是單純不想讓別人看到 有時候,是提供 但不能共享,用來獲取收益等等。那麼怎麼將乙個檔案壓縮,或者乙個資料夾壓縮尼?同時又怎麼給這個壓縮檔案加密尼?下面大家和小編一起看一下吧。壓縮檔案 如圖。找到需要壓縮的檔案 資料夾,右擊檔案,點選新增...
C 壓縮檔案
首先新增system.io.com pression 注意deflatestream類不能用來壓縮大小超過4gb的檔案。gzipstream同樣不能用來壓縮大小超過4gb的檔案。public void compressfile string srcfile,string dstfile if fil...
C 壓縮檔案
c 壓縮檔案 方法1 filepath想要壓縮檔案的位址 zippath輸出壓縮檔案的位址 private void getfiletozip string filepath,string zippath 方法2 private void filetozip string path,string a...