給定包含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 using namespace std;
const int maxn=110000;
int a[maxn];
int qi[maxn];
int ho[maxn];
int n;
int che(int x)
for(int i=1;i>n;
for(int i=1;i<=n;i++)
for(int i=n;i>=1;i--)
int f=0;
int q=1;
for(int i=1;i<=n;i++)
}if(!f)printf("-1\n");
else printf("%d\n",q);
return 0;}/*
8-1 -5 5 3 2 1 -4 2
*/
B 迴圈陣列 HihoCoder 1704
hihocoder 1704 給定包含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 ...
1704 卡片遊戲
時間限制 1 s 空間限制 128000 kb 題目等級 silver 桌面上有一疊牌,從第一張牌 即位於頂面的牌 開始從上往下依次編號為1 n.當至少還剩兩張排時進行一下操作 把第一張牌扔掉,然後把新的第一張牌放到整疊牌的最後。輸入n。輸出每次扔掉的牌,以及最後剩下的牌。輸入描述 input de...
1704 卡片遊戲
時間限制 1 s 空間限制 128000 kb 題目等級 silver 桌面上有一疊牌,從第一張牌 即位於頂面的牌 開始從上往下依次編號為1 n.當至少還剩兩張排時進行一下操作 把第一張牌扔掉,然後把新的第一張牌放到整疊牌的最後。輸入n。輸出每次扔掉的牌,以及最後剩下的牌。輸入描述 input de...