Offer收割 程式設計練習賽50 迴圈陣列

2021-08-17 02:44:35 字數 754 閱讀 1328

描述

給定包含n個整數的陣列a1, a2, ... an,你可以選擇任意乙個ai,將ai旋轉到陣列第一項,即將陣列變成:

ai, ai+1, ai+2, ... an, a1, a2, ..., ai-1

現在小hi希望旋轉之後的陣列滿足:

對於任意k(1 ≤ i ≤ n),前k項的和都是正數。

例如對於a=[3, -5, 2, -2, 3, 0],旋轉成[3, 0, 3, -5, 2, -2]滿足條件。

請你輸出i,代表將ai旋轉到第一項滿足條件。

如果有多解,你可以輸出任意乙個i。如果無解輸出-1。

輸入第一行包含乙個整數n。

第二行包含n個整數a1, a2, ... an。

對於50%的資料,1 ≤ n ≤ 1000

對於100%的資料,1 ≤ n ≤ 100000, -1000000 ≤ ai ≤ 1000000

輸出乙個整數表示答案。

樣例輸入

6 3 -5 2 -2 3 0

樣例輸出

5

#include #include using namespace std;

int a[100001];

int main(int argc, char *argv)

system("pause");

return exit_success;

}

Offer收割 程式設計練習賽50 A 迴圈陣列

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 給定包含n個整數的陣列a1,a2,an,你可以選擇任意乙個ai,將ai旋轉到陣列第一項,即將陣列變成 ai,ai 1,ai 2,an,a1,a2,ai 1 現在小hi希望旋轉之後的陣列滿足 對於任意k 1 i n 前k項的和都...

Offer收割 程式設計練習賽1

做了三題,題目都比較暴力。a題 題意 給你乙個三階的幻方,三階幻方指的是將1 9不重複的填入乙個3 3的矩陣當中,使得每一行 每一列和每一條對角線的和都是相同的。現在準備將乙個三階幻方中的一些陣列抹掉 0代替 交給你來進行還原,並且希望她能夠判斷出究竟是不是只有一組解。如果只有一組解,輸出該三階幻方...

Offer收割 程式設計練習賽7

比較容易想到是o n 2 的解決方案,遍歷n種刪除可能,每次遍歷o n 時間求總高度。前者優化比較困難,因而想辦法優化每次遍歷求高度的時間。由前往後遍歷,當刪除第i個時,先前的排版是連續的,從而通過計數器等累加方法可以求得已完整行的總高度presum,以及當前未完整行的w,h。include def...