文章

16

粉丝

134

获赞

98

访问

16.2k

头像
最大连续子序列 题解:

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long dp[1000010];
  4. long long a[1000010];
  5. long long maxx;
  6. long long s = 0, d = 0;
  7. long long temp_start = 0;
  8. int main() {
  9. long long n;
  10. while(cin >> n) {
  11. if(n == 0)
  12. break;
  13. int sum = 0;
  14. for(long long i = 0; i < n; i++) {
  15. cin >> a[i];
  16. if(a[i] < 0) {
  17. sum++;
  18. }
  19. }
  20. if(n == 1) {
  21. cout << a[0] << " " << a[0] << " " << a[0] << endl;
  22. } else if(sum == n) {
  23. cout << "0 " << a[0] << " " << a[n - 1] << endl;
  24. } else {
  25. dp[0] = a[0];
  26. maxx = dp[0]; //最小的情况非空,那么就是某一个值
  27. s = 1;
  28. d = 1;
  29. for(long long i = 1; i < n; i++) {
  30. if(dp[i - 1] + a[i] < a[i]) {
  31. dp[i] = a[i];
  32. temp_sta...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发