藍橋杯之統計日誌(c )

2021-09-12 18:34:15 字數 1483 閱讀 8654

小明維護著乙個程式設計師論壇。現在他收集了乙份"點讚"日誌,日誌共有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 <= 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

資源約定:

峰值記憶體消耗(含虛擬機器) < 256m

cpu消耗 < 1000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入…」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

不要使用package語句。不要使用jdk1.7及以上版本的特性。

主類的名字必須是:main,否則按無效**處理。

//尺取法

#include

using namespace std;

const

int maxn =

1e6;

int n,d,k,cnt,ans[maxn+10]

;vector<

int> vec[maxn+10]

;int

judge

(int x)

sort

(vec[x]

.begin()

,vec[x]

.end()

);int l=

0,r=

0,sum=0;

while

(l<=r&&r<=len-1)

else

} r++;}

return0;

}int

main()

cnt =0;

for(

int i=

1;i<=maxn;i++)}

sort

(ans+

1,ans+

1+cnt)

;for

(int i=

1;i<=cnt;i++

)return0;

}

藍橋杯 日誌統計

尺取法 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...

藍橋杯 日誌統計

現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時刻t滿足該帖在 t,t d 這段時間內 注意是左閉右開區間 收到不少於k個讚,該帖就曾是 熱帖 給定日誌,請你幫助小明統計出所有曾是 熱帖 的帖子編...