UVAOJ 10656 - Maximum Sum (II)
没什么难度的题目,读到第i个数时,就判断第i个数+前面i-1个数的最大值能不能更大,如果更大,就加入答案中,不然就忽略,注意一下0的情况。
还有,这一题的评测。。。。。。。。。。。。。。。。
用的是全文比较,不忽略空格,不忽略换行符,就是说,输出格式要严格遵循样例。。。。。。。
如果总是WA,可是用我这个丑陋的程序对拍试一试。
UVAOJ 10656
1 #include <cstdio>
2 #include <iostream>
3 #include <cstring>
4 #include <vector>
5
6 using namespace std;
7
8 int main()
9 {
10 int n;
11 int flag = 0;
12 vector<int> ans;
13 //freopen("ex.in","r",stdin);
14 //freopen("ex.out","w",stdout);
15 while(cin>>n)
16 {
17 ans.clear();
18 if (n==0)
19 break;
20 if (flag == 1)
21 {
22 cout<<endl;
23 flag = 0;
24 }
25 int f = 0;
26 int temp;
27 for (int i=1;i<=n;i++)
28 {
29 cin>>temp;
30 if (f+temp>f)
31 {
32 ans.push_back(temp);
33 f+=temp;
34 }
35 }
36 if (f == 0)
37 cout<<"0";
38 else
39 if (ans.size()==1)
40 cout<<ans[0];
41 else
42 if (ans.size()>1)
43 {
44 for (int i=0;i<ans.size()-1;i++)
45 cout<<ans[i]<<" ";
46 cout<<ans[ans.size()-1];
47 }
48 flag = 1;
49 }
50 cout<<endl;
51 return 0;
52 }
posted on 2011-08-04 00:24 cherryunix 阅读(214) 评论(0) 收藏 举报

浙公网安备 33010602011771号