杭电acm1231哪里错了 程序如下 显示wrong answer 在线等
#include<stdio.h>#include<string.h>intadd(inti,intj,intn[]){ints=0;for(intl=i;l<=j;l+...
#include <stdio.h>
#include <string.h>
int add(int i,int j,int n[]){
int s=0;
for (int l=i;l<=j;l++)
{
s=s+n[l];
}
return s;
}//得出序列n从i到j的和
void main(){
int k;
int arr[1000];
int sum=-10000,temp=0;
int start,end;
while(scanf("%d",&k)==1)//循环读入
{
if(k==0) break;
for(int ii=0;ii<k;ii++)
scanf("%d",&arr[ii]);//读入数据存入整个数组
for(int i=0;i<k;i++)
for(int j=i;j<k;j++)
{
temp=add(i,j,arr);
if(temp>sum)
{
sum=temp;
start=i;
end=j;
}
}
if(sum<0) printf("0 %d %d\n",arr[0],arr[k-1]);
else printf("%d %d %d\n",sum,arr[start],arr[end]);
sum=-10000;
}
} 展开
#include <string.h>
int add(int i,int j,int n[]){
int s=0;
for (int l=i;l<=j;l++)
{
s=s+n[l];
}
return s;
}//得出序列n从i到j的和
void main(){
int k;
int arr[1000];
int sum=-10000,temp=0;
int start,end;
while(scanf("%d",&k)==1)//循环读入
{
if(k==0) break;
for(int ii=0;ii<k;ii++)
scanf("%d",&arr[ii]);//读入数据存入整个数组
for(int i=0;i<k;i++)
for(int j=i;j<k;j++)
{
temp=add(i,j,arr);
if(temp>sum)
{
sum=temp;
start=i;
end=j;
}
}
if(sum<0) printf("0 %d %d\n",arr[0],arr[k-1]);
else printf("%d %d %d\n",sum,arr[start],arr[end]);
sum=-10000;
}
} 展开
展开全部
若所有K个元素都是负数,则定义其最大和为0,输出整个序列的首尾元素。
不是和为负数,输出0
不是和为负数,输出0
追问
其实这两个条件是等价的吧 不然你能举出反例么
追答
#include
int main()
{
int n;
while(scanf("%d",&n),n)
{
int i,ans=-999999999,sum=0,a[100005],s=1,e,ss,ee;
for(i=1;i=0)
sum+=a[e=i];
else
sum=a[s=e=i];
if(sum>ans)
{
ss=s;
ee=e;
ans=sum;
}
}
if(ans<0)
printf("0 %d %d\n",a[1],a[n]);
else
printf("%d %d %d\n",ans,a[ss],a[ee]);
}
}
GamryRaman
2023-05-24 广告
2023-05-24 广告
电化学工作站chi760e连接不上的原因和解决方法如下:1. 网络问题:请检查您的网络连接是否正常,尝试重新连接或者更换网络环境,例如使用其他WiFi或者移动网络。2. 服务器故障或维护:如果电化学工作站使用的是远程服务器,可能是由于服务器...
点击进入详情页
本回答由GamryRaman提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询