現在小明想統計有哪些帖子曾經是"熱帖"。如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是"熱帖"。
具體來說,如果存在某個時刻t滿足該帖在[t, t+d)這段時間內(注意是左閉右開區間)收到不少於k個讚,該帖就曾是"熱帖"。
給定日誌,請你幫助小明統計出所有曾是"熱帖"的帖子編號。
【輸入格式】
第一行包含三個整數n、d和k。
以下n行每行一條日誌,包含兩個整數ts和id。
對於50%的資料,1 <= k <= n <= 1000
對於100%的資料,1 <= k <= n <= 100000 0 <= ts <= 100000 0 <= id <= 100000
【輸出格式】
按從小到大的順序輸出熱帖id。每個id一行。
【輸入樣例】
7 10 2
0 10 10
10 10
10 1
9 1100 3
100 3
【輸出樣例】13
思路:
對於上面的示例,先將ts分別按從小到大排序,j當做『哨兵』,i是從最初開始迴圈,j位置的ts減去i位置的ts要小於d,將i到j中間的td點讚用cnt來儲存,若發現點讚次數大於k的用answer來儲存下來。
//記錄結果
for(
int i=
0;i++i)
j++;}
cnt[records[i]
.td]--;
}for
(set<
int>
::iterator it = answer.
begin()
;it!=answer.
end();
++it)
}
藍橋杯 日誌統計
尺取法 vector容器 全域性變數能開更大的空間哦 題目小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個...
日誌統計(藍橋杯)
藍橋杯的一道題 思路 先說最容易想到的,把ts都放到他的id下,列舉每個id,在每個id之下判斷是否存在熱帖,存在的條件就是在 t,t d 中cnt k code ac 6 10 include include includeusing namespace std vectora 100005 se...
藍橋杯之統計日誌(c )
小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時...