牛客網 頭條某程式設計題(二)。。。

2021-08-25 11:28:06 字數 870 閱讀 8093

給定乙個陣列序列, 需要求選出乙個區間, 使得該區間是所有區間中經過如下計算的值最大的乙個:

區間中的最小數 * 區間所有數的和最後程式輸出經過計算後的最大值即可,不需要輸出具體的區間。如給定序列 [6 2 1]則根據上述公式, 可得到所有可以選定各個區間的計算值:

[6] = 6 * 6 = 36;

[2] = 2 * 2 = 4;

[1] = 1 * 1 = 1;

[6,2] = 2 * 8 = 16;

[2,1] = 1 * 3 = 3;

[6, 2, 1] = 1 * 9 = 9;

從上述計算可見選定區間 [6] ,計算值為 36, 則程式輸出為 36。

區間內的所有數字都在[0, 100]的範圍內;

輸入描述:

第一行輸入陣列序列長度n,第二行輸入陣列序列。

對於 50%的資料, 1 <= n <= 10000;

對於 100%的資料, 1 <= n <= 500000;

輸出描述:

輸出陣列經過計算後的最大值。

輸入例子1:

3 6 2 1

輸出例子1:

#include 

#include

using

namespace

std;

int main()

int min_index, sums_num=0, result=0;

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

//向右走

for (int j = i+1; j < v_i.size(); ++j)

result = resultcout

<}

牛客網程式設計題

參考了排行榜大神 1.計算字串最後乙個單詞的長度,單詞以空格隔開 a raw input b a.split print len b 1 2.寫出乙個程式,接受乙個有字母和數字以及空格組成的字串,和乙個字元,然後輸出輸入字串中含有該字元的個數。不區分大小寫 a raw input lower b r...

牛客網程式設計題1

輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。思路 本題最初想簡單的求模算出等於1的位數,但是發現負數不行。其實簡單的做法應該是與 1相與,如果為 1,則原來為 1,迴圈移位判斷。但注意,要左移,要是右移,對於負數會一直在高位補 1,導致結果不準確。class solution ...

牛客網 程式設計題2

給定乙個陣列序列,需要求選出乙個區間,使得該區間是所有區間中經過如下計算的值最大的乙個 區間中的最小數 區間所有數的和最後程式輸出經過計算後的最大值即可,不需要輸出具體的區間。如給定序列 6 2 1 則根據上述公式,可得到所有可以選定各個區間的計算值 6 6 6 36 2 2 2 4 1 1 1 1...