牛奶来之不易2

Description                                                                                                       

奶牛们开了一家新公司,农夫约翰想看看它们做得怎么样。这家公司已经运营了N (1 <= N <= 100000)天,每天i头奶牛记录的净利润是P_i

(-1000 < = Pi​< = 1000)。

农民约翰想找出奶牛在任意连续时间段内的最大总利润。(连续时间段可以从1天到N天。)帮他写一个程序,计算出连续利润的最大总和。

Input

第1行:单个整数:N

第i+1行包含单个整数Pi​

Output

一个整数,表示任何连续时间段的最大利润总和。

Sample Input 1 

7 
-3 
4 
9 
-2 
-5 
8 
-3 

Sample Output 1

14
#include <bits/stdc++.h>
using namespace std;
const int N = 100000;
int p[N];
int dp_rec(int p[], int n){
	int Pn[n];
	Pn[0] = p[0];
	int res = Pn[0];
	
	for(int i=1; i<n; i++){
		if(Pn[i-1] < 0)	
			Pn[i] = p[i];
		else
			Pn[i] = Pn[i-1] + p[i];
	}
	
	for(int i=1; i<n; i++){
		if(res <= Pn[i])
			res = Pn[i];
	}
	return res;
}

int main(){
	int n,maxP;
	cin >> n;
	for(int i=0; i<n; i++)
		cin >> p[i];
	maxP = dp_rec(p, n);
	cout << maxP;
	return 0;
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值