Source Code
#include <bits/stdc++.h>
#define int long long  
#define all(a) a.begin(),a.end() 
#define pii pair<int,int> 
#define F first 
#define S second 
#define mp make_pair 
#define md ((int)1e9+7)
using namespace std; 
signed main(){
	int n ; 
	cin>>n ;
	vector<int> a(n); 
	for(int&x:a) cin>>x ;
	vector<int> ans ; 
	ans.push_back(a.back()) ; 
	for(int i=n-2;i>-1;i--){
		int x = 0   ; 
		if(ans.back()<0){
			x=ans.back() ; 
			ans.pop_back() ;
		}
		ans.push_back(a[i]+x) ; 
	}
	reverse(all(ans)) ;
	while(ans.back()==0){
		ans.pop_back() ; 
		if(ans.empty()){
			cout << 0 ; 
			return  0 ; 
		} 
	}
	for(int x:ans) cout << x << " "; 
	return 0 ; 
}
Copy
b Boredom
GNU G++17
91 ms
5.9 MB
Accepted