第一题集装箱堆叠
看注释即可
// 看题目,是最长连续序列的变种。底应该选大的,然后往上堆叠选择次大的(越接近底越好?)
// 后续想一下,像是动态规划?
// 再一想,好像排序后很容易处理
#include <bits/stdc++.h>
#include <functional>
using namespace std;
int main() {
vector<int> boxs;
int i, j;
vector<int> bstack; // 保存的是堆垛的大小
int tmp;
while(cin >> tmp) {
boxs.push_back(tmp);
}
sort(boxs.begin(), boxs.end(), less<int>());
// bstack.emplace_back(vector<int>());
for(i=0; i<(int)boxs.size(); ++i) {
// printf("%d ", boxs[i]);
for(j=0; j< (int)bstack.size(); ++j) {
if(boxs[i] >= bstack[j]) {
+&#