- 直白的实现,4秒多勉强AC。
- 题目关于输出格式的描述中,【在第r个查询操作中,第c类商品选出的商品编号,同类商品的编号从小到大输出】 应该是【在第r个查询操作中,第c类商品选出的商品编号,分数不同的商品,分数更高的,其编号在前;分数相同的商品,编号更小的,其编号在前】。
19.11.25更新:
增加注释,修改部分变量的命名
#include <iostream>
#include <map>
#include <set>
#include <vector>
using namespace std;
struct PRODUCT {
// 商品,由类型和编号可唯一确定一个商品
int type; // 商品类型
int commodity; // 商品编号
PRODUCT(int _type = 0, int _commodity = 0) : type(_type), commodity(_commodity) {
}
};
bool operator < (const PRODUCT& lhs, const PRODUCT& rhs) {
// 类型'小'的商品优于类型'大'的商品,编号小的商品优于编号大的商品
return lhs.type != rhs.type ? lhs.type < rhs.type : lhs.commodity < rhs.commodity;
}
int main() {
cin.tie(NULL); // 开始两行,