

解析:
详见代码:
#include<bits/stdc++.h>
using namespace std;
int n;
int a[105];
int ans[105];
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
ans[1]=200;//至少200毫升
for(int i=2;i<=n;i++){//从左到右,保证看右边的时候不会不平衡
ans[i]=ans[i-1];//右边跟左边一样
if (a[i]>a[i-1]){//比左边胖,加100
ans[i]+=100;
}else if (a[i]<a[i-1]){//比左边瘦,200就行
ans[i]=200;
}
}
for(int i=n-1;i>=1;i--){//从右到左,保证看到左边的时候不会不平衡
if (a[i]>a[i+1]&&ans[i]<=ans[i+1]){//如果比右边胖且奶小于等于右边
ans[i]=ans[i+1]+100;//在右边基础上加100
}
}
int sum=0;
for(int i=1;i<=n;i++){//求和
sum+=ans[i];
}
cout<<sum;
return 0;
}

被折叠的 条评论
为什么被折叠?



