码迷,mamicode.com
首页 > 其他好文 > 详细

$47 A Senior's Array

时间:2015-07-13 07:47:46      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

题目要求:给出n个数的数组,要在里面把某一个数替换成P。寻求区间和最大。

O(n)的算法不会,日后专研更新

技术分享
 1 /* **********************************************
 2 Auther: linhan
 3 Created Time: 2015-06-27 21:55:10
 4 File Name   : 新建文本文档.txt
 5  *********************************************** */
 6 #include <iostream>
 7 #include <stdio.h>
 8 #include <stdlib.h>
 9 #include <math.h>
10 #include <string.h>
11 #include <algorithm>
12 /*修改数组中的某一个数 使得数组的区间和最大*/
13 typedef long long LL;
14 const int maxn=1005;
15 const LL min_=-1e16-1;
16 LL a[maxn];
17 /*dp[i+1]前i+1个的最大区间和*/
18 int main()
19 {
20     LL t,n,p,ans;
21     //printf("%I64d\n",min_);
22     scanf("%I64d",&t);
23     while(t--)
24     {
25         ans=min_;
26         scanf("%I64d%I64d",&n,&p);
27         for(int i=0; i<n; i++)
28             scanf("%I64d",&a[i]);
29         for(int i=0; i<n; i++)
30         {
31             LL temp=a[i],sum=min_;
32             a[i]=p;
33             for(int j=0;j<n;j++)
34             {
35                 if(sum<0) sum=a[j];
36                 else sum+=a[j];
37                 if(sum>ans) ans=sum;
38             }
39             a[i]=temp;
40         }
41         printf("%I64d\n",ans);
42     }
43     return 0;
44 }
View Code

 

$47 A Senior's Array

标签:

原文地址:http://www.cnblogs.com/linxhsy/p/4641972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!