样例全过但0pts
查看原帖
样例全过但0pts
1140231
ChangeYuAN楼主2024/7/17 18:50
#include<bits/stdc++.h>
using namespace std;
const int MAXLEN=1e5+5;
char s[MAXLEN];
long long a[MAXLEN],dp1[MAXLEN],dp2[MAXLEN],n;

signed main(){
	cin>>n;
	for(long long i=1;i<n;i++){
		cin>>a[i]>>s[i];
	}cin>>a[n];
	dp1[1]=a[1],dp2[1]=a[1];
	for(long long i=1;i<=n;i++){
		if(s[i-1]=='+'){
			dp2[i]=i*a[i];
			dp1[i]=dp1[i-1]+i*a[i];
		}else if(s[i-1]=='*'){
			dp2[i]=(dp2[i-1]+1)*a[i];
			dp1[i]=dp1[i-1]-dp2[i-1]+(dp2[i-1]+1)*a[i];
		}
	}long long ans=0;
	for(long long i=1;i<=n;i++){
		ans+=dp1[i];
	}cout<<ans;
	return 0;
}
2024/7/17 18:50
加载中...