第三場積分賽 B 迴圈陣列

2021-08-17 22:21:51 字數 1307 閱讀 9766

給定包含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...