luogu填坑
2026/5/16 21:08:42 网站建设 项目流程

我一开始的思路:从1开始遍历,比如样例中,4>0那么开始往她后面寻找不等于0的道路一起-1,计为一次cnt+1

#include<stdio.h> int main(){ int n; int str[10008]; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&str[i]); } int cnt=0; for(int i=0;i<n;i++){ while(str[i]!=0){ for(int j=i;j<n;j++){ if(str[j]==0) break; str[j]-=1; } cnt++; } } printf("%d",cnt); }

但是时间超限了

于是就有了第二个思路:

#include<stdio.h> #define ll long long int str[100008]; int main(){ int n; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&str[i]); } ll cnt=0; for(int i=1;i<n;i++){ if(str[i]>str[i-1]){ cnt+=str[i]-str[i-1]; } } printf("%lld",cnt+str[0]); }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询