一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递。
注:快递的体积不受限制,快递数最多1000个,货车载重最大50000。
输入描述:
第一行输入每个快递的重量,用英文逗号分隔,如:5,10,2,11
第二行输入货车的载重量,如:20
不需要考虑异常输入。
输出描述:
输出最多能装多少个快递,如:3
示例1:
输入
5,10,2,11
20
输出
3
说明
货车的载重量为20,最多只能放三个快递5、10、2,因此输出3
//5,10,2,11
//20
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char str[100];
int list[100] = {0};
int i = 0;
int sum = 0;
int temp = 0;
int num;
int N =0;
fgets(str,100,stdin);
scanf("%d",&num);
char* p = strtok(str,",");
while(p != NULL)
{
list[i] = atoi(p);
p = strtok(NULL,",");
i++;
}
for(int m = 0; m < i; m++)
{
for(int n = m; n < i; n++)
{
sum += list[n];
if(sum <= num)
{
temp++;
//printf("%d \n", sum);
if(temp > N)
N = temp;
}
else
{
temp = 0;
break;
}
}
sum = 0;
}
printf("%d\n",N);
}