程式設計題 逛街

2021-10-25 10:38:25 字數 946 閱讀 6115

時間限制:c/c++ 2秒,其他語言4秒

空間限制:c/c++ 256m,其他語言512m

小q在週末的時候和他的小夥伴來到大城市逛街,一條步行街上有很多高樓,共有n座高樓排成一行。

小q從第一棟一直走到了最後一棟,小q從來都沒有見到這麼多的樓,所以他想知道他在每棟樓的位置處能看到多少棟樓呢?(當前面的樓的高度大於等於後面的樓時,後面的樓將被擋住) 

輸入描述:

輸入第一行將包含乙個數字n,代表樓的棟數,接下來的一行將包含n個數字wi(1<=i<=n),代表每一棟樓的高度。

1<=n<=100000;

1<=wi<=100000; 

輸出描述:

輸出一行,包含空格分割的n個數字vi,分別代表小q在第i棟樓時能看到的樓的數量。
輸入例子1:

6

5 3 8 3 2 5

輸出例子1:

3 3 5 4 4 4
例子說明1:

當小q處於位置3時,他可以向前看到位置2,1處的樓,向後看到位置4,6處的樓,加上第3棟樓,共可看到5棟樓。當小q處於位置4時,他可以向前看到位置3處的樓,向後看到位置5,6處的樓,加上第4棟樓,共可看到4棟樓。
#includeusing namespace std;

int a[100005],cnt[100005];

int main()

vectorv;

for(int i=2;i<=n;i++)

v.clear();

for(int i=n-1;i>=1;i--)

for(int i=1;i<=n;i++)

cout<}

騰訊刷題 逛街

小q在週末的時候和他的小夥伴來到大城市逛街,一條步行街上有很多高樓,共有n座高樓排成一行。小q從第一棟一直走到了最後一棟,小q從來都沒有見到這麼多的樓,所以他想知道他在每棟樓的位置處能看到多少棟樓呢?當前面的樓的高度大於等於後面的樓時,後面的樓將被擋住 輸入描述 輸入第一行將包含乙個數字n,代表樓的...

逛街 最短距離 花費

時間限制 1 sec 記憶體限制 128 mb 假設渣渣灰有乙個女朋友,他的女朋友要他陪著一起去公園。由於渣渣灰不喜歡運動,所以他想找一條最短的路到達公園。由於途中會有許多消費點,而每到乙個消費點女朋友就要購物,而渣渣灰比較摳,所以假如有多條最短路,則他會選擇途中消費點最便宜的。給你n個點,m條無向...

優先佇列 51Nod逛街

比較好的一道題,我們定義三個堆,q1,q2,q3,前兩個堆維護的要去的商店,q3維護的是不去的商店。當q1中的數量大於k之後我們就可以討論q2和q3了,如果我們q2中有的時間大於q3的時間那麼就可以交換,以便騰出更多的時間來逛更多的商店。include define int long long de...