SUM
Description
There is a number sequenceInput
There are multiple test cases.Output
For each test case,output the answer in a line.Sample Input
2 10000 9999 5 1 9999 1 9999 1
Sample Output
19999 22033
題意:
給出一個序列,允許把其中某一連續段的所有值變成這個數對應的某個函數的值,只允許操作一次,問得到的最終序列的和最大為多少
題解:
找出一個數組,儲存每一個數字經過函數運算後變成的數與原來這個數的差值,,對這個數組求最大連續子序列的和,然後加上原來數組的總和即為所求
比賽的時候確實腦殘了,本來自己會的知識點,就稍微轉化了一下,自己竟然沒分析出來,真心懷疑人生了.....
學會的東西想要達到靈活運用,真的是好難啊..
/* http://blog.csdn.net/liuke19950717 */ #include#include #include using namespace std; typedef long long ll; const ll maxn=1e5+5; const ll mod=10007; ll x[maxn],y[maxn]; ll max_sum(ll num[],ll n) { ll ans=0,tp=0; for(ll i=0;i