設有n個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是li,1≤i≤n。要求確定這n個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。輸入資料中,第一行是2個正整數,分別表示程式檔案個數和磁帶長度l。接下來的1行中,有n個正整數,表示程式存放在磁帶上的長度。輸出為最多可以儲存的程式個數。
輸入資料示例
6 50
2 3 13 8 80 20
輸出資料
#include #include using namespace std;
int a[1000];
int most(int *a,int n,int s)
if(i==n-1)
return n;//如果所有加起來都不夠長度
}}int main()
sort(a,a+n);//公升序排序
cout<
使用:#include
using namespace std;
sort(first_pointer,first_pointer+n,cmp)
引數解釋: 第乙個引數是陣列的首位址,一般寫上陣列名就可以,因為陣列名是乙個指標常量。第二個引數相對較好理解,即首位址加上陣列的長度n(代表尾位址的下一位址)。最後乙個引數是比較函式的名稱(自定義函式cmp),這個比較函式可以不寫,即第三個引數可以預設,這樣sort會預設按陣列公升序排序。
演算法訓練 程式儲存問題
設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1 i n。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。輸入格式 第一行是2 個正整數,分別表示檔案個數n和...
7 8 程式儲存問題 (90 分)
7 8 程式儲存問題 90 分 設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1 i n。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。第一行是2 個正整數...
演算法 (貪心演算法) 程式儲存問題
description 設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1 i n。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。input 第一行是2 個正...