首页 新闻 赞助 找找看

航电OJ 1003 为什么我总是WA,测试数据没错啊

0
悬赏园豆:10 [待解决问题]

以下为我的代码,我试了一些数据,表示没发现错误?

求解

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     long n,i; //n代表后续有n个数
 6     int *p1=nullptr,*p2=nullptr; //用来申请空间
 7     long begin_index,end_index;//开始‘结束下标
 8     long sum;
 9     bool flag;//flag用来根据情况输出内容,当flag=falses时,表示数列全为负数
10     int all;
11     cin>>all;
12     for(int ri=1;ri<=all;++ri)
13     {
14         sum=0;
15         //输入数据
16         cin>>n;
17         p1=new int[n];
18         p2=new int[n];
19         for(i=0;i!=n;++i)
20             cin>>p1[i];
21         flag=false;
22         //找到第一个非负数的下标
23         for(i=0;i!=n;++i)
24         {
25             if(p1[i]>=0)
26             {
27                 begin_index=i;
28                 flag=true;
29                 break;
30             }
31         }
32         //如果全为负数直接输出第一个数字,否则申请从开始下标到结束的数字个数的空间
33         if(flag)
34         {
35             //将第一个非负数之后所有和存入p2
36             for(i=begin_index;i!=n;++i)
37             {
38                 sum+=p1[i];
39                 p2[i]=sum;
40             }
41             //寻找最后一位下标
42             end_index=begin_index;
43             for(i=begin_index+1;i!=n;++i)
44             {
45                 if(p2[end_index]<p2[i])
46                     end_index=i;
47             }
48             //输出结果
49             cout<<"Case "<<ri<<":\n";
50             cout<<p2[end_index]<<" "<<begin_index+1<<" "<<end_index+1<<endl;
51         }
52         else
53         {
54             end_index=0;
55             for(i=1;i!=n;++i)
56             {
57                 if(p1[end_index]<p1[i])
58                     end_index=i;
59             }
60             cout<<"Case "<<ri<<":\n";
61             cout<<p1[end_index]<<" "<<end_index+1<<" "<<end_index+1<<endl;
62         }
63         delete []p1;
64         delete []p2;
65         p1=nullptr;
66         p2=nullptr;
67         if(ri!=all)
68             cout<<endl;
69     }
70 
71     return 0;
72 }
OJ
Bow_1203的主页 Bow_1203 | 初学一级 | 园豆:192
提问于:2017-12-07 00:06
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册