小明維護著乙個程式設計師論壇。現在他收集了乙份"點讚"日誌,日誌共有n行。
其中每一行的格式是:
ts id
表示在ts時刻編號id的帖子收到乙個"贊"。
現在小明想統計有哪些帖子曾經是"熱帖"。如果乙個帖子曾在任意乙個長度
為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是"熱帖"。
具體來說,如果存在某個時刻t滿足該帖在[t, t+d)這段時間內(注意是左閉
右開區間)收到不少於k個讚,該帖就曾是"熱帖"。
給定日誌,請你幫助小明統計出所有曾是"熱帖"的帖子編號。
【輸入格式】
第一行包含三個整數n、d和k。
以下n行每行一條日誌,包含兩個整數ts和id。
對於50%的資料, 1 <= k <= n <= 1000
對於100%的資料, 1 <= k <= n <= 100,000
0 <= ts <= 100,000
0 <= id <= 100,000
【輸出格式】
按從小到大的順序輸出熱帖id。每個id一行。
【輸入樣例】
7 10 2
0 10 10
10 10
10 1
9 1100 3
100 3
【輸出樣例】
1 3
資源約定:
峰值記憶體消耗(含虛擬機器) < 256m
cpu消耗 < 1000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。
注意:main函式需要返回0;
只使用ansi c/ansi c++ 標準;
不要呼叫依賴於編譯環境或作業系統的特殊函式。
所有依賴的函式必須明確地在原始檔中 #include
不能通過工程設定而省略常用標頭檔案。
提交程式時,注意選擇所期望的語言型別和編譯器型別。
//日誌統計
#include#include#include#include#includeusing namespace std;
vectortiezi[100005];
setid_set;
//行數、時間間隔、點讚閾值
int num, time_gap, threshold;
bool judge(int id)
//給當前id中的所有時間點進行快速排序。
sort(tiezi[id].begin(), tiezi[id].end());//注意sort函式的用法。
//運用【尺取法】逐段判斷是否滿足閾值。有點像乙個滑動視窗。
int begin = 0;
int end = begin + threshold-1;
while(end < tiezi[id].size())
end++;
begin++;
} return false; }
int main()
//迭代每乙個id。判斷該id在限定時間間隔內對應的時刻數量是否滿足閾值。
set::iterator it;//定義用來遍歷set的迭代器。
for(it = id_set.begin(); it != id_set.end(); it++)
//在python中迭代尤為簡單┏ (゜ω゜)=☞
for item in list:
//item就是從list中拿到的元素了。
第九屆藍橋杯省賽第八題 日誌統計
小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時...
全球變暖 第九屆藍橋杯省賽題目九
你有一張某海域nxn畫素的 表示海洋 表示陸地,如下所示 其中 上下左右 四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。由於全球變暖導致了海面上公升,科學家 未來幾十年,島嶼邊緣乙個畫素的範圍會 被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰 上下左右四個相鄰畫素中有海洋 它就會被...
藍橋杯 日誌統計(第九屆第八題)
小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時...