1

来源:互联网 发布:淘宝秒杀器taovb 编辑:程序博客网 时间:2024/05/22 17:29
#include <iostream>
using namespace std;  

int LeastBox(int V, int N, int * objects)  
{  
if (N < 1)  
{  
return 0;  
}  
if (N < 2)  
{  
return 1;  
}  
int box = 0;  

if (objects[0] < objects[1])  
{  
int tmp = objects[1];  
objects[1] = objects[0];  
objects[0] = tmp;  
}  
for (int i = 2; i < N; i++)  
{  
for (int j = i; j > 0; j--)  
{  
if (objects[j] > objects[j - 1])  
{  
int tmp = objects[j];  
objects[j] = objects[j - 1];  
objects[j - 1] = tmp;  
}  
else  
{  
break;  
}  
}  
}  
int i = 0;  
int j = N - 1;  
while (i < j)  
{  
if (objects[i] + objects[j] <= V)  
{  
i++;  
j--;  
box++;  
continue;  
}  
else  
{  
i++;  
box++;  
continue;  
}  
}  
return box;  
}  

int main()  
{  
int V = 0;  
int N = 0;  
int * objects = NULL;  
cin >> V;  
cin >> N;  
objects = new int[N];  
for (int i = 0; i < N; i++)  
{  
cin >> objects[i];  
}  
cout <<LeastBox(V, N, objects) << endl;  
delete [] objects;  
return 0;  
}  
0 0