签到题 长沙理工大学ACMore编程协会2018年新生赛(重现赛)

链接:https://ac.nowcoder.com/acm/contest/318/B
来源:牛客网
 

题解:简单思维,暴力题,枚举以每一个元素为i边界,求得的最远j值。

代码:

#include <iostream>

using namespace std;
#define int long long
signed main(){
    //cout << "Hello world!" << endl;
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        int s[n+10];
        int ans=0;
        for(int i=0;i<n;i++) cin>>s[i];
        for(int i=0;i<n-1;i++){
            int mn=s[i];/*枚举以每一个元素为i边界*/
            int mx=s[i];/*枚举以每一个元素为i边界*/
            for(int j=i+1;j<n;j++){
                mn=min(mn,s[j]);
                mx=max(mx,s[j]);
                if(s[j]>=mx&&mn==s[i]){/*左边界就是枚举的s[i],右边界必须>最大值才可以阔右边界(每个元素的值不一样)*/
                    ans=max(ans,j-i);/*因为j=i+1,更新完的mx可能是s[j(i+1)],所以是s[j]>=mx*/
                }

            }
        }
        cout<<ans<<endl;
    }
    return 0;
}

题目描述

IG牛逼!!!

众所周知,IG是英雄联盟S8世界总决赛冠军,夺冠之夜,数亿人为之欢呼!

赛后某百分百胜率退役ADC选手的某表情包意外走红,某苟会长看到此表情包也想模仿。

于是有n个友爱的萌新决定每人都送会长一根长为ai面包。(数据保证没有面包的长度相等)

会长无聊时把面包摆成一排,他惊人地发现他喜欢这样一类区间,区间[i, j]满足条件:

区间里的面包没有比左端点i号面包短的,同时也没有比右端点j号面包长的。

Gey会长在思考这样一个问题:
 

所有满足条件的区间中j-i的最大值是多少?

输入描述:

 

t组数据。

每组样例第一行输入整数n,接下来一行输入n个正整数。

($t\leq30$, $n\leq1000$, $a_{i}\leq1000000$)

输出描述:

输出满足条件的区间中j-i的最大值。

示例1

输入

复制

2
4
5 4 3 6
4
6 5 4 3

输出

复制

1
0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值