hdu1003,题里测试数据都过,就是ac不了

问题描述:

hdu1003,题里测试数据都过,就是ac不了
#include
using namespace std;
int MaxSum(int n ,int *a,int &besti,int &bestj)
{
int sum=0,b=0;
\x05for(int i=1;i0)
\x05 {
\x05\x05 b+=a[i];
\x05 }
\x05 else
\x05 {
\x05\x05 b=a[i];
\x05\x05 besti=1;
\x05 }
\x05 if(b>sum)
\x05 {
\x05\x05 sum=b;
\x05\x05 bestj=i;
\x05 }
\x05}
return sum;
}
int main()
{
\x05int T,N,i,x,y,k;
\x05int a[100000];
\x05int sum;
\x05//cin>>T;
\x05scanf("%d",&T);
\x05if(T20)
\x05{
\x05\x05return 0;
\x05}
\x05k=1;
\x05while(T>0)
\x05{
\x05\x05if(k!=1)
\x05\x05{
\x05\x05\x05coutN;
\x05\x05scanf("%d",&N);
\x05\x05if(N100000)
\x05\x05{
\x05\x05\x05break;
\x05\x05}
\x05\x05for(i=1;i>a[i];
\x05\x05\x05scanf("%d",&a[i]);
\x05\x05}
\x05\x05
\x05\x05//cout
1个回答 分类:综合 2014-10-10

问题解答:

我来补答
#include
using namespace std;
int MaxSum(int n ,int *a,int &besti,int &bestj)
{
\x05int sum=0,b,tempbesti=1;
\x05besti = bestj = 1;
\x05sum = b = a[1];
\x05for(int i=2;i=0)
\x05\x05{
\x05\x05\x05b+=a[i];
\x05\x05}
\x05\x05else
\x05\x05{
\x05\x05\x05b=a[i];
\x05\x05\x05tempbesti=i;
\x05\x05}
\x05\x05if(b>sum)
\x05\x05{
\x05\x05\x05sum=b;
\x05\x05\x05bestj=i;
\x05\x05\x05besti=tempbesti;
\x05\x05}
\x05}
\x05return sum;
}
int main()
{
\x05int T,N,i,x,y,k;
\x05int a[100001]; // 防止溢出
\x05int sum;
\x05//cin>>T;
\x05scanf("%d",&T);
\x05if(T20)
\x05{
\x05\x05return 0;
\x05}
\x05k=1;
\x05while(T>0)
\x05{
\x05\x05if(k!=1)
\x05\x05{
\x05\x05\x05coutN;
\x05\x05scanf("%d",&N);
\x05\x05if(N100000)
\x05\x05{
\x05\x05\x05break;
\x05\x05}
\x05\x05for(i=1;i>a[i];
\x05\x05\x05scanf("%d",&a[i]);
\x05\x05}
\x05\x05
\x05\x05//cout
 
 
展开全文阅读
剩余:2000