文章

14

粉丝

230

获赞

23

访问

63.1k

头像
骑车
P1737 华东师范大学2020年机试题
发布于2022年8月23日 12:29
阅读数 4.5k

 如果a[i]>a[i-1] 保持递增    dp[i]=dp[i-1]+1;

否则,  重新计算爬坡,dp[i]=1;
         
当前坡度计算:a[i]- a[i-dp[i]+1],如果大于ans,更新ans
  

#include<bits/stdc++.h>
using namespace std;

int a[1005];
int dp[1005];
int main()
{

    int num=0;

    while(cin>>num)
    {

        for(int i=1; i<=num; i++)
        {
            cin>>a[i];
        }
        int ans=0;

        dp[1]=1;
         for(int i=1; i<=num; i++)
        {
           if(a[i]>a[i-1])
            dp[i]=dp[i-1]+1;
           else
            dp[i]=1;
           if(a[i]-a[i-dp[i]+1]>ans)
            ans=a[i]-a[i-dp[i]+1];
        }
        cout<<ans<<endl;
    }

    return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发