給定包含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
output
乙個整數表示答案。
sample input
6 3 -5 2 -2 3 0
sample output
5
#include
#include
using
namespace
std;
int n,a[1000006],b[1000006];
int main()
for(int i=n;i<2*n;i++)//這個想法很新穎,直接在原有的陣列後面接上一組。
a[i]=a[i%n];
for(int i=0;iint sum=0;
for(int j=i;j//i表示了首位數,即末尾數為i+n。
if(sum>0)
}if(flag==0)
printf("-1\n");
}return
0;}
#include
#include
#include
#include
using
namespace
std;
int a[100005];
int main()
}m=t;
for(i=1;iif(m<0)//如果最大的和,加上調換後的數仍然小於零
if(t==0)//t=0,即所有的和為負數
printf("-1\n");
else
printf("%d\n",flag);
}return
0;}
第三場積分賽 A 字串排序
一般我們在對字串排序時,都會按照字典序排序。當字串只包含小寫字母時,相當於按字母表 abcdefghijklmnopqrstuvwxyz 的順序排序。現在我們打亂字母表的順序,得到乙個26個字母的新順序。例如 bdceafghijklmnopqrstuvwxyz 代表 b 排在 d 前,d 在 c ...
暑期個人賽 第三場 A
a.學姐的數碼管 2014新生暑假個人排位賽03 時間限制 1000 ms 記憶體限制 65536 kb 題目描述 學姐的七段數碼管玩的出神入化。現在給你乙個浮點數,你需要把它以七段數碼管的形式輸出出來。乙個 2 n 1 n的矩陣來表示七段數碼管,若下標均從0開始,則以第0列的兩個,第n 1列的兩個...
JNU第三場訓練賽題解
include includeusing namespace std int a 150 int main for int i 1 i n i printf d a i puts 埃氏700ms,線篩231ms include include includeusing namespace std i...