比赛 20120418s 评测结果 AATTTTTT
题目名称 山海经 最终得分 25
用户昵称 feng 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-04-18 10:45:53
显示代码纯文本
#include<cstdio>
#include<cstdlib>
using namespace std;
int n;
int m;
int love[100001];
int i;
int a,b;
int sum=0;
int max;
int x,y;
int num;
int j;
int count1,count2;
int main()
{
    freopen("hill.in","r",stdin);
	freopen("hill.out","w",stdout);
    scanf("%d%d",&n,&m);
    
    for(i=1;i<=n;i++)
    {
        scanf("%d%*c",&love[i]);
    }
    
    while(m--)
    {
        scanf("%d%*c%d%*c",&a,&b);
        
        max=love[a];
        
        count1=a;
        count2=a;
        
        for(i=a;i<=b;i++)
        {
            while(love[i]<0&&i<b)   //程序优化
            {
                i++;
                
            }
            for(j=i;j<=b;j++)
            {
                while(1)
                {
                sum=sum+love[j];
                if(love[j]>0||j==b)     //程序优化
                {
                    break;
                }
                j++;
                }
                if(max<sum)
                {
                    max=sum;
                    count1=i;
                    count2=j;
                }
            }
            sum=0;
        }
        
        printf("%d %d %d\n",count1,count2,max);
        
    }
    return 0;
}