fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. const int Mod=998244353;
  5.  
  6.  
  7. void solve() {
  8. ll n;
  9. cin >> n;
  10. vector<ll> a(n);
  11. for(ll i=0;i<n;i++) cin >> a[i];
  12. vector<ll> c(n),b(n),suffix(n);
  13. ll sum = 0;
  14. ll ma=*max_element(a.begin(),a.end()),mi=a[n-1];
  15. for(ll i=0;i<n;i++){
  16. sum+=a[n-1-i];
  17. suffix[i]=sum;
  18. }
  19. for(ll i=0;i<n;i++){
  20. mi=min(mi,a[n-1-i]);
  21. b[n-1-i]=mi;
  22. }
  23. c[0]=a[0];
  24. for(ll i=1;i<n;i++){
  25. ma=max(ma,a[i-1]);
  26. c[i]=ma;
  27. }
  28. for(ll i=0;i<n;i++){
  29. if(i==n-1) cout << suffix[n-1] << " ";
  30. else {ll ans = max(suffix[i],suffix[i]-b[n-1-i]+c[i]);
  31. cout << ans << " ";}
  32. }
  33. cout << '\n';
  34. }
  35.  
  36. int main(){
  37. ios::sync_with_stdio(false);
  38. cin.tie(nullptr);
  39.  
  40. int t;
  41. cin >> t;
  42. while (t--) solve();
  43.  
  44.  
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0s 5320KB
stdin
4
7
13 5 10 14 8 15 13
6
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
1
42
2
7 5
stdout
13 30 43 57 67 75 78 
1000000000 2000000000 3000000000 4000000000 5000000000 6000000000 
42 
7 12