小美請小團吃迴轉壽司。轉盤上有n盤壽司圍成一圈,第1盤與第2盤相鄰,第2盤與第3盤相鄰,…,第n-1盤與第n盤相鄰,第n盤與第1盤相鄰。小團認為第i盤壽司的美味值為a[i](可能是負值,如果小團討厭這盤壽司)。現在,小團要在轉盤上選出連續的若干盤壽司,使得這些壽司的美味值之和最大(允許不選任何壽司,此時美味值總和為0)。
輸入:
第一行輸入乙個整數t(1<=t<=10),表示資料組數。輸出:每組資料佔兩行,第一行輸入乙個整數n(1<=n<=10^5);
第二行輸入n個由空格隔開的整數,表示a[1]到a[n](-104<=a[i]<=104)。
每組資料輸出佔一行,輸出乙個整數,表示連續若干盤壽司的美味值之和的最大值輸入例子
1輸出例子 第一思路是用兩層迴圈,但是超時, python不會。43 -2 4 -1
第二思路如下: 可能的組合是:字首和-字首和最小值(0或者負數); 字首和+以最後乙個數字結尾的最大和子陣列。
#include
#include
using
namespace std;
intmain()
vector<
int>
pre(n+1,
0); vector<
int>
pre_min
(n+1,0
);vector<
int>
suf_max
(n+1,0
);vector<
int>
suf(n+1,
0);int mins =
0, maxs =
0, res =0;
for(
int i =
0; i < n; i++
)for
(int i = n-
1; i >=
0; i--
)for
(int i =
0; i < n; i++
) cout<}return0;
}
迴轉壽司 有趣的分塊
樣例1輸入 6 78 6 7 4 5 9 2 4 5 4 1 4 6 2 7 1 5 2 3 4 8 4 3 1 3 1 3 樣例1輸出 79 8786 5 樣例1每次提供完新壽司後,顧客擁有的壽司 依次為 1.8 5 6 4 5 9 2.8 5 6 4 4 5 3.7 5 6 4 4 5 4.2 ...
美團筆試2018 9 10
第一題 無向圖 def min path n,b node list 0 n 1 儲存節點的距離 for path in b 遍歷路徑,使後一節點距離值等於前一節點距離值加一 x,y path node list y node list x 1 depth 0 找到最大深度 for i in ran...
美團筆試(22 03 19)
一共五道 題,看了前面三道,ac了三道,後面兩道題沒有時間看,此處將對前三題進行記錄總結,後附 題意 給定一組n個商品的 下單購買商品時,必須購買前i個商品,即購買商品列表是商品列表的字首。提供兩種優惠規則,滿減優惠和折扣優惠,每次下單只能選擇某種優惠規則。問購買前i 1 i n 個商品時,使用哪種...