zoukankan      html  css  js  c++  java
  • TZOJ:最大连续子序列

    描述

    给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ...,
    Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个,
    例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和
    为20。
    在今年的数据结构考卷中,要求编写程序得到最大和,现在增加一个要求,即还需要输出该
    子序列的第一个和最后一个元素。

    输入

    测试输入包含若干测试用例,每个测试用例占2行,第1行给出正整数K( < 10000 ),第2行给出K个整数,中间用空格分隔。当K为0时,输入结束,该用例不被处理。

    输出

    对每个测试用例,在1行里输出最大和、最大连续子序列的第一个和最后一个元
    素,中间用空格分隔。如果最大连续子序列不唯一,则输出序号i和j最小的那个(如输入样例的第2、3组)。若所有K个元素都是负数,则定义其最大和为0,输出整个序列的首尾元素。

    样例输入

    样例输出

    提示

    Huge input, scanf is recommended.

    题目来源

    HDOJ

    菜鸡的成长史 ^-^

     

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int n;
     6     while(scanf("%d",&n)&&n!=0)
     7     {
     8         int jishu=0,geshu=0,a[10005];
     9         memset(a,0,sizeof(a));
    10         for(int i=1;i<=n;i++)
    11         {
    12             scanf("%d",&a[i]);
    13             if(a[i]<0) geshu++;
    14         }
    15         if(geshu==n)   //全都是负数
    16         {printf("%d %d %d
    ",0,a[1],a[n]);continue;}  //特判
    17         int maxx=0,u=1000,v=1000;
    18         for(int i=1;i<=n;i++)  //全部都遍历一边
    19         {
    20             int num=0;
    21             for(int j=i;j<=n;j++)
    22             {
    23                 num+=a[j];
    24                 if(num>=maxx)  //能够找到就更新
    25                 {
    26                     if(num>maxx) maxx=num,u=i,v=j;  
    27                     else
    28                     {
    29                         if(u+v>i+j)
    30                             u=i,v=j;
    31                     }
    32                 }
    33             }
    34         }
    35         printf("%d %d %d
    ",maxx,a[u],a[v]);
    36     }
    37     return 0;
    38 }
    View Code

     

     

  • 相关阅读:
    python自动化之利用configparser库获取配置文件中的section,option,value值
    python自动化之pymysql库连接mysql数据库封装成类
    python中封装pymysql库连接mysql数据库
    python自动化之requests库封装
    OS模块获取文件相对路径
    元素定位之xpath定位详解
    Jmeter工具-连接postgresql数据库+提取参数并应用到下个接口中
    JDK安装与环境变量配置
    python使用psycopg2连接postgresql数据库
    SQL的in的参数化查询
  • 原文地址:https://www.cnblogs.com/qq-1585047819/p/10599277.html
Copyright © 2011-2022 走看看