思路很简单,肯定不是最好,但绝对最容易想
(是说20分的题真的不用搞那么复杂啦)
进来一个判断一个
第一个读进来,给200
接下来进入循环,相等就和前面一样,大于就+100,小于就从这个开始前面全部+100
要注意的是,往前跑的时候,一旦遇到第一个比当前这个小的,直接break出来,否则最后一个测试点错误
错误的用例我忘了,好像是1 2 2 2 1
完美解决
最后让我再叨叨一句盆盆奶听起来真的好可爱
#include <cstdio>
int n,panda[10010],milk[10010],sum;
int main(){
int i,j,pre;
//freopen("input.txt","r",stdin);
scanf("%d%d",&n,&panda[0]);
milk[0]=200;
for(i=1;i<n;i++){
scanf("%d",&panda[i]);
if(panda[i]==panda[i-1]) milk[i]=milk[i-1];
else if(panda[i]>panda[i-1]){
milk[i]=milk[i-1]+100;
}else{
milk[i]=200;
for(j=i-1;j>=0;j--){
if(panda[j]>=panda[j+1] && milk[j]<=milk[j+1])
milk[j]+=100;
else break;
}
}
}
for(i=0;i<n;i++){
sum+=milk[i];
}
printf("%d",sum);
return 0;
}