fork(5) download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. #define FOR(i,a,b) for(int i=a; i<=b; i++)
  7.  
  8. typedef long long LL;
  9.  
  10. int main()
  11. {
  12. int n;
  13. cin>>n;
  14. vector<LL> a,f,g,h;
  15. a.resize(n+1);
  16. f.resize(n+1);
  17. g.resize(n+1);
  18. h.resize(n+1);
  19.  
  20. FOR(i,1,n)
  21. cin>>a[i];
  22.  
  23. f[1] = a[1];
  24. FOR(i,2,n)
  25. f[i] = max(f[i-1],a[i]);
  26.  
  27. g[2] = 2*a[2] + a[1];
  28. FOR(i,3,n)
  29. g[i] = max(g[i-1],2*a[i] + f[i-1]);
  30.  
  31. h[3] = 3*a[3] + 2*a[2] + a[1];
  32. FOR(i,4,n)
  33. h[i] = max(h[i-1],3*a[i] + g[i-1]);
  34.  
  35. cout<<h[n]<<endl;
  36.  
  37. return 0;
  38. }
Success #stdin #stdout 0s 3464KB
stdin
5 
-1 2 -2 -3 5
stdout
18