CCF CSP 201412 3 集合競價

2021-09-29 06:39:31 字數 1126 閱讀 4553

1.用結構體儲存資訊;

2.先用vector儲存所有資訊,最後再寫入優先佇列中,這樣可以方便的處理cancel命令;

3.輸出的**一定是買家裡的,因此將買家的出價從大到小遍歷,每遍歷到乙個**,數數**小於等於這個**的賣家的總股數就好了,兩個優先佇列可以方便的實現這個過程;

4.注意輸出精度,注意資料範圍;

#include

using

namespace std;

typedef

long

long ll;

#define p_b(a) push_back(a)

struct order

bool

operator

<

(const order & a)

const};

vector pre_ord;

priority_queue buy_list;

//價高的在前面

priority_queue sell_list;

intmain()

double p;

ll num;

cin>>p>>num;

pre_ord.

p_b(

order

(s[0

],p,num));

} ll buy_ans=

0,sell_ans=0;

for(

auto e:pre_ord)

} ll num=0;

double p=0;

while

(!buy_list.

empty()

) ll minn=

min(buy_ans,sell_ans);if

(minn<=num)

break

;//不合適就退出

num=minn;

p=buy_list.

top(

).p;

//合適就記錄下來

buy_list.

pop();

}printf

("%.2f %lld"

,p,num)

;return0;

}

python3集合 Python3 集合

集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典。建立格式 parame 或者set value 這裡演示的是去重功能 orange in basket 快速判斷元素是否在集合內 true c...

python3集合 Python3 集合

python3 集合 集合 set 是乙個無序的不重複元素序列。可以使用大括號或者set 函式建立集合,注意 建立乙個空集合必須用set 而不是,因為是用來建立乙個空字典。集合內建方法 add 為集合新增元素 例項 fruits.add orange print fruits 輸出結果為 clear...

2018 3 28 集合框架

1.迭代器的作用 為集合而生,用來專門遍歷集合中的元素 2.collection介面中的iterator 方法返回乙個iterator 通過iterator介面的兩個方法即可方便實現遍歷 hasnext 判斷是否存在另乙個可訪問的元素 next 返回要訪問的下乙個元素 3.map類使用迭代器遍歷元素...