時間限制: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輸出例子1:5 3 8 3 2 5
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...