fork download
  1. #include <stdio.h>
  2.  
  3. #define DTYPE int
  4. #define ASIZE 100001
  5.  
  6. int main()
  7. {
  8. DTYPE count;
  9. DTYPE values[ASIZE];
  10. DTYPE cache[ASIZE];
  11. DTYPE maximum = -1e9;
  12.  
  13. scanf("%d", &count);
  14.  
  15. for (int i = 0; i < count; ++i)
  16. scanf("%d", values + i);
  17.  
  18. cache[0] = values[0];
  19. for (int i = 1; i < count; ++i)
  20. {
  21. int memNum = cache[i - 1] + values[i];
  22. int viewValue = memNum < values[i] ? values[i] : memNum;
  23.  
  24. cache[i] = viewValue;
  25.  
  26. maximum = maximum < viewValue ? viewValue : maximum;
  27. }
  28.  
  29. printf("%d", maximum);
  30. }
Success #stdin #stdout 0s 15888KB
stdin
1
1
stdout
-1000000000