NYOJ 745 螞蟻的難題(二)

2021-07-11 19:41:34 字數 1063 閱讀 3365

時間限制:

1000 ms  |  記憶體限制:

65535 kb描述

下雨了,下雨了,螞蟻搬家了。

已知有n種食材需要搬走,這些食材從1到n依次排成了乙個圈。小螞蟻對每種食材都有乙個喜愛程度值vi,當然,如果vi小於0的時候,表示螞蟻討厭這種食材。因為馬上就要下雨了,所以螞蟻只能搬一次,但是能夠搬走連續一段的食材。時間緊急,你快幫幫小螞蟻吧,讓它搬走的食材喜愛值和最大。

輸入

有多組測試資料(以eof結尾)。

每組資料有兩行,第一行有乙個n,表示有n種食材排成了乙個圈。(1 <= n<= 50000)

第二行分別有n個數,代表螞蟻對第n種食材的喜愛值vi。(-10^9 <= vi <= 10^9)

輸出輸出小螞蟻能夠搬走的食材的喜愛值總和的最大。

樣例輸入

3

3 -1 2

5-8 5 -1 3 -9

樣例輸出

5

7

分析:  這個題和nyoj那道首尾相連字串和思路是一樣的,沒做那道題之前,

真的不會做這道題,雖然這個就多了 個首位相連而已。

注意:  要是給出的都為負數的話,輸出結果為零。

思路:1.求出這組數的總和

2.求出原陣列最大子串和

3.求出原陣列最小子串和

4.當子陣列不超過原陣列時,輸出最大字串即為要求結果

5.當子陣列超過原陣列時,要用陣列總和減去原陣列最小字串和

6.比較與0的大小,輸出即可

#include#include#includeusing namespace std;

long long int a[50010];

int main()

for(i=1; i<=m; i++)

ax=max(ax,t-in);

if(ax > 0)//比較那個大

printf("%lld\n",ax);

else

printf("0\n");

}return 0;

}

nyoj 745 螞蟻的難題(二)

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 下雨了,下雨了,螞蟻搬家了。已知有n種食材需要搬走,這些食材從1到n依次排成了乙個圈。小螞蟻對每種食材都有乙個喜愛程度值vi,當然,如果vi小於0的時候,表示螞蟻討厭這種食材。因為馬上就要下雨了,所以螞蟻只能搬一次,但是能夠搬走...

nyoj 745 螞蟻的難題 二

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 下雨了,下雨了,螞蟻搬家了。已知有n種食材需要搬走,這些食材從1到n依次排成了乙個圈。小螞蟻對每種食材都有乙個喜愛程度值vi,當然,如果vi小於0的時候,表示螞蟻討厭這種食材。因為馬上就要下雨了,所以螞蟻只能搬一次,但是能夠搬走...

nyoj 745 螞蟻的難題 二

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 下雨了,下雨了,螞蟻搬家了。已知有n種食材需要搬走,這些食材從1到n依次排成了乙個圈。小螞蟻對每種食材都有乙個喜愛程度值vi,當然,如果vi小於0的時候,表示螞蟻討厭這種食材。因為馬上就要下雨了,所以螞蟻只能搬一次,但是能夠搬走...