作者热门文章
- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
博艾市有一个木材仓库,里面可以存储各种长度的木材,但是保证没有两个木材的长度是相同的。作为仓库负责人,你有时候会进货,有时候会出货,因此需要维护这个库存。有不超过 100000 条的操作:
1 Length
:在仓库中放入一根长度为 Length(不超过 \(10^9\)) 的木材。如果已经有相同长度的木材那么输出Already Exist
。2 Length
:从仓库中取出长度为 Length 的木材。如果没有刚好长度的木材,取出仓库中存在的和要求长度最接近的木材。如果有多根木材符合要求,取出比较短的一根。输出取出的木材长度。如果仓库是空的,输出Empty
。无 。
无 。
7
1 1
1 5
1 3
2 3
2 3
2 3
2 3
3
1
5
Empty
else {
j--;
if (*i - length < length - *j) j = i;
}
cout << *j << endl;
//这里可以写*j,也可以只写j,只写j表明删除j这个迭代器所对应的位置,写*j表明删除j所指向的这个元素
s.erase(*j);
#include<set>
#include<iostream>
using namespace std;
int n;
int x, length;
set<int> s;
int main()
{
cin >> n;
while (n--) {
cin >> x >> length;
if (x == 1) {
if (s.find(length) == s.end()) s.insert(length);
else cout << "Already Exist" << endl;
}
else if (x == 2) {
if (s.empty()) cout << "Empty" << endl;
else {
auto i = lower_bound(s.begin(),s.end(), length);
auto j = i;
if (i == s.begin()) j = i;
else if (i == s.end()) {
i--; j = i;
}
else {
j--;
if (*i - length < length - *j) j = i;
}
cout << *j << endl;
s.erase(*j);
}
}
}
return 0;
}
最后此篇关于洛谷P5250【深基17.例5】木材仓库的文章就讲到这里了,如果你想了解更多关于洛谷P5250【深基17.例5】木材仓库的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有一个带有自定义分类法(“vehicles_category”)的 CPT(“vehicles”) 我有 4 个类别(建筑、道路、废物、其他),每个类别都分配了很多帖子。 我试图列出每个类别,并在下
我正在尝试使用 Timber (Twig) 从另一个页面访问 ACF 数据以显示在另一个页面上。 ACF 在“关于”页面中的名称是 the_unstrung_hero (id = 7)。 page-h
这段代码(WordPress 主题)使用 Timber 过滤器的“调整大小”不会生成新尺寸的图像,而是始终返回源图像链接。 将 WP_DEBUG 设置为 true 时不会返回任何错误,也不会记录任何
我刚刚设置了 Rails 应用 在我的 Ubuntu 18 机器,我想将它连接到 Forest Admin .但是,Forest Admin 要求我设置 Node 申请首先使用 npm。 Node 应
Timber (V 4.5.0) lint 检查只能通过 Gradle 进行(但不能通过 lint 命令进行,也不能在 Android Studio 2.3 Beta2 中进行)。 总结 当我直接在命
我是一名优秀的程序员,十分优秀!