题目:
思路
即:用容器只记录每个车道最小的车序号,其他元素不用记录;
递减序列离开,即:每个车道递减序列停车;
输入n个车;
找到容器内举例车序号X最近的元素it
如果(it是容器的最后一个元素)即:最近的是最小的,直接放进去;
否则,删除it,用X替代它,即插入X;
代码
#include <iostream>
#include<set>
using namespace std;
int main() {
int N;
cin >> N;
int NN = N;
set<int>sc;
while (NN--) {
int num;
cin >> num;
set<int>::iterator it =sc. lower_bound(num);//迭代器找sc容器中的最小数;
if (it == sc.end()) {
sc.insert(num);
}
else {
sc.erase(it);
sc.insert(num);
}
}
cout << sc.size();
}