• Source
    1. #include <iostream>
    2. #include <vector>
    3. using namespace std;
    4. int main()
    5. {
    6. int t;
    7. cin>>t;
    8. for(int k=1;k<=t;++k)
    9. {
    10. int n;
    11. cin>>n;
    12. vector<long long> a(n);
    13. long long ans1,ans2;
    14. bool positive=false;
    15. ans1=ans2=0;
    16. for(int i=0;i<n;++i)
    17. {
    18. cin>>a[i];
    19. if(a[i]>0)
    20. {
    21. positive=true;
    22. ans2+=a[i];
    23. }
    24. }
    25. if(!positive)
    26. {
    27. long long mmax=a[0];
    28. for(int i=0;i<n;++i)
    29. mmax=max(a[i],mmax);
    30. ans2=mmax;
    31. }
    32.  
    33. long long cur=a[0];
    34. ans1=cur;
    35. for(int i=1;i<n;++i)
    36. {
    37.  
    38. cur+=a[i];
    39. ans1=max(ans1,cur);
    40. if(cur<0)
    41. cur=0;
    42.  
    43. }
    44. cout<<ans1<<" "<<ans2<<endl;
    45.  
    46. }
    47.  
    48. }