zoukankan      html  css  js  c++  java
  • NOJ2045 罗马PK

    题目链接:点击打开链接

    罗马PK

    时间限制(普通/Java) : 1000 MS/ 2000 MS          运行内存限制 : 65536 KByte
    总提交 : 196            测试通过 : 49 

    比赛描述

    一天,机智的罗老师和小马哥想比试以下到底谁更机智,于是他们找到了一个很长的数列串,决定看谁能更快地算出这条长串中子串和的最大值。

    这对于身经百战的神牛们通过编程来求解真是小菜一碟,现在想请你帮他们算出正确结果。

    eg.长串为(6,-1,5,4,-7),那么子串的最大值为:

    6+(-1)+5+4=14




    输入

    输入的第一行包含一个整数T(1<=T<=20)表示测试用例的数目。接下来有T行输入,每行以一个数N(1<=N<=100000)开头,然后接下来输入N个整数(所有的整数都在-10001000之间)。

    输出

    对于每个测试用例,你应该输出2行。第一行是 "Case #:"#表示测试用例数。第二行包含3个整数,子串和的最大值,对应字串的开始位置,对应字串的结束位置。如果有超过一个的答案,输出第一个。每两个测试用例之间有一个空白行。

    样例输入

    2
    5 6 -1 5 4 -7
    7 0 6 -1 1 -6 7 -5

    样例输出

    Case 1:
    14 1 4

    Case 2:
    7 1 6

    解:最大连续和,和pat1007很像,自己顺便把这道题也写了,PS:这题数据出的比较水。
    代码:

    #include<iostream>
    #include<cstdlib>
    #include<cstdio>
    using namespace std;
    int main()
    {
        int t;
        while(scanf("%d",&t)==1)
        {
            for(int k=1;k<=t;k++)
            {
                int n;
                scanf("%d",&n);
                int *a=new int[n+1];
                for(int i=0;i<n;i++)
                {
                    scanf("%d",&a[i]);
                }
                int flag=0,left=0,right=0,sum=0,cursum=0;
                for(int i=0;i<n;i++)
                {
                    if(cursum<0)
                    {
                        cursum=a[i];
                        flag=i;
                    }
                    else
                    {
                        cursum+=a[i];
                    }
                    if(cursum>sum)
                    {
                        sum=cursum;
                        left=flag;
                        right=i;
                    }
                }
                printf("Case %d:
    ",k);
                printf("%d %d %d
    ",sum,left+1,right+1);
    
                if(k!=t)
                    printf("
    ");
            }
        }
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    React在componentDidMount里面发送请求
    React 术语词汇表
    React里受控与非受控组件
    React和Vue等框架什么时候操作DOM
    【LeetCode】79. Word Search
    【LeetCode】91. Decode Ways
    【LeetCode】80. Remove Duplicates from Sorted Array II (2 solutions)
    【LeetCode】1. Two Sum
    【LeetCode】141. Linked List Cycle (2 solutions)
    【LeetCode】120. Triangle (3 solutions)
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965280.html
Copyright © 2011-2022 走看看