程序存储问题

来源:互联网 发布:linux 绝对路径 编辑:程序博客网 时间:2024/05/17 23:15

程序存储问题

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li ,1 ≤ i ≤ n。程序存储问题要求确定这n 个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。
对于给定的n 个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。

输入

输入数据的第一行是2 个正整数,分别表示文件个数n(n≤1000)和磁带的长度L(L≤10000)。接下来的1 行中,有n个正整数,表示程序存放在磁带上的长度。

输出

输出一个整数,表示计算出的最多可以存储的程序数。

示例输入

6 502 3 13 8 80 20

示例输出

5
#include<stdio.h>  #include<stdlib.h>  int a[2000];  int cmp(const void *a,const void *b)  {  return *(int *)a-*(int *)b;  }  int main()  {      int i,j,n,m,k,t;      scanf("%d %d",&n,&m);      for(i=0;i<n;i++)          scanf("%d",&a[i]);      qsort(a,n,sizeof(a[0]),cmp);      k=0;      for(i=0;i<n&&k+a[i]<=m;i++)          k+=a[i];      printf("%d\n",i);  } 

0 0
原创粉丝点击