程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> Hdu 5586 sum【最大連續子序列和】

Hdu 5586 sum【最大連續子序列和】

編輯:關於C

SUM

 

Description

There is a number sequence\\\\\\\\\\\,you can select a interval [l,r] or not,all the numbers\\\\\\\\\will become\\\\\.\\\\\\\\\\\\\\\\\\\\\\\\.After that,the sum of n numbers should be as much as possible.What is the maximum sum?

Input

There are multiple test cases.
First line of each case contains a single integer n.\\\\\\\\\
Next line contains n integers\\\\\\\\\\\.\\\\\\\\\\
It's guaranteed that\\\\\\.

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved