時間限制:
1000 ms | 記憶體限制:
65535 kb描述
下雨了,下雨了,螞蟻搬家了。
已知有n種食材需要搬走,這些食材從1到n依次排成了乙個圈。小螞蟻對每種食材都有乙個喜愛程度值vi,當然,如果vi小於0的時候,表示螞蟻討厭這種食材。因為馬上就要下雨了,所以螞蟻只能搬一次,但是能夠搬走連續一段的食材。時間緊急,你快幫幫小螞蟻吧,讓它搬走的食材喜愛值和最大。
輸入
有多組測試資料(以eof結尾)。
每組資料有兩行,第一行有乙個n,表示有n種食材排成了乙個圈。(1 <= n<= 50000)
第二行分別有n個數,代表螞蟻對第n種食材的喜愛值vi。(-10^9 <= vi <= 10^9)
輸出輸出小螞蟻能夠搬走的食材的喜愛值總和的最大。
樣例輸入
33 -1 2
5-8 5 -1 3 -9
樣例輸出
57
分析: 這個題和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的時候,表示螞蟻討厭這種食材。因為馬上就要下雨了,所以螞蟻只能搬一次,但是能夠搬走...