我尼玛窒息了,为什么PAT每次都要搞这些奇奇怪怪的小坑点,友好一点不行吗???再一次被题坑了,他要的输出是数字而不是索引index!!!!!坑死了
气!
简单的动态规划,不多说了
#include <bits/stdc++.h>
using namespace std;
int num[10010];
int dp[10010];
int main(void)
{
int n,m,index;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&num[i]);
dp[0]=num[0];
for(int i=1;i<n;i++)
dp[i]=max(num[i],dp[i-1]+num[i]);
index=0;m=dp[0];
for(int i=0;i<n;i++)
{
if(dp[i] > m)
{
m=dp[i];index=i;
}
}
if(m<0) printf("0 %d %d",num[0],num[n-1]);
else
{
int j;
for(j=index;j>=0;j--)
if(dp[j]<0) break;
printf("%d %d %d",m,num[j+1],num[index]);
}
}