sdut 3100

原创 2016年06月01日 22:51:12

现在问题来了,有一个一维数组,存储了n个正整数,下标依次为012.,n-1

现在要从中选取一部分数,你要给出一个选择方案使得你的方案满足下列要求:

  1. 这部分元素的下标应满足stst+5, st+5*2 , st+5*3, … , st+5*x (0 <= st < n ,st <= st+5*x < n)

  2. 在满足第一条要求的方案中,应选取其累加和最大的一种的方案。

输入

 多组输入。

对于每组输入:

第一行输入一个n(1 <= n <= 100000)

接下来的一行有n个整数y(-100000 <= y <= 100000)

输出

 对于每组数据,输出一个整数代表你的方案的累加和。

示例输入

10
1 2 3 4 5 6 7 8 9 10
3
1 -10 2
3
-1 -2 -3

示例输出

15
2
-1

#include<stdio.h>

#include<string.h>
#define INF 0x3f3f3f3f
int a[100005],n;
int dp(int t)
{
    int maxn=-INF;
    int sum=0;
    for(int i=t;i<n;i+=5)
    {
        sum+=a[i];
        if(sum>maxn)
            maxn=sum;
        if(sum<0)
            sum=0;
    }
    return maxn;
}
int main()
{
    int i;
    while(~scanf("%d",&n))
    {
        for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        int maxn=-INF;
        for(i=0;i<5;i++)
        {
            int tt=dp(i);
            if(tt>maxn)
                maxn=tt;
        }
        printf("%d\n",maxn);
    }
    return 0;
}
版权声明:本文为博主原创文章,点个赞随便转

【最大子段和】SDUT 3100 动态规划?

动态规划? Time Limit: 1000MS Memory Limit: 65536KB Problem Description 动态规划作为《运筹学》的一个分支,被广泛的用于解决较为复杂...
  • bbbbswbq
  • bbbbswbq
  • 2017年03月14日 19:38
  • 148

SDUT 3100 动态规划? (动态规划) -- 解题报告

题面 动态规划? Time Limit: 1000ms Memory limit: 65536K 题目描述 动态规划作为《运筹学》的一个分支,被广泛的用于解决较为复杂的经...
  • dreamer_blue
  • dreamer_blue
  • 2016年02月16日 10:27
  • 329

C++第13周项目1——递归求奇数连乘的积

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759【项目1-递归求奇数连乘的积】类似求阶乘,写出1*3*...*n的递归式,并...
  • sxhelijian
  • sxhelijian
  • 2013年11月22日 20:02
  • 2798

S3100系列交换机管理VLAN的配置

一      组网需求: 为S3100交换机配置管理VLAN。 二      组网图: 无 三      配置步骤: 1.进入系统视图 system-view ...
  • kepa520
  • kepa520
  • 2015年07月23日 15:15
  • 463

symbol PDA MC3100

  以前从来没有接触过 PDA,以为是很高科技的东东。这次想给客户设计一个功能,这个功能很简单,就是扫描些条码然后把这些条码给电脑。一般的条码扫描机只有扫一次写一次的效果,咨询些做硬件的后说可以使用盘...
  • long405581649
  • long405581649
  • 2011年04月02日 15:47
  • 3361

【BZOJ3100】排列

Description给定一个长度为n的序列a,选取连续的一段使其为1~k的一个排列。 求k的最大值。 Input输入的第一行包含一个整数n。接下来n个数描述序列a Output输出一个整数表示...
  • CreationAugust
  • CreationAugust
  • 2016年03月18日 08:34
  • 716

POJ 3100

//POJ 3100 这都什么题目啊,难道考察的是int和double。反正我看懂数值大的就直接double了,一次AC #include #include #include using nam...
  • chchlh
  • chchlh
  • 2014年11月12日 12:46
  • 309

sdut1252 进制转换

进制转换 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 输入一个十进制数N,将它转换成...
  • qq_33435265
  • qq_33435265
  • 2016年03月31日 21:57
  • 290

SDUT-1500-(字典树)

字典树,注意到最后用完字典树的时候把字典树删除,要不容易产生空间不足。 #include #include #include #include using namespace std; struct...
  • rowanhaoa
  • rowanhaoa
  • 2012年08月15日 20:54
  • 495

SDUT 2075 最少拦截系统

最少拦截系统  #include #include #include using namespace std; int pp[310]; int main() { int n, num;...
  • zhidetian
  • zhidetian
  • 2016年05月28日 12:36
  • 138
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sdut 3100
举报原因:
原因补充:

(最多只允许输入30个字)