码迷,mamicode.com
首页 > 其他好文 > 详细

签到题(模拟)

时间:2018-12-24 02:53:26      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:tom   frame   相等   scribe   using   class   tps   namespace   scanf   

链接:https://ac.nowcoder.com/acm/contest/318/B

题目描述

IG牛逼!!!

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

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

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

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

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

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

所有满足条件的区间中j-i的最大值是多少?
技术分享图片

输入描述:

t组数据。
每组样例第一行输入整数n,接下来一行输入n个正整数。
(t30, n1000, ai1000000)

输出描述:

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

输入

复制
2
4
5 4 3 6
4
6 5 4 3

输出

复制
1
0



一开始用三个循环超时了 这题很简单 不够仔细

#include<bits/stdc++.h>
 
using namespace std;
int main()
{
    int T;
    for(scanf("%d",&T);T--;){
        int n;
        scanf("%d",&n);
        vector<int>vec(n);
        int maxn=0;
        for(int i=0;i<n;i++) scanf("%d",&vec[i]);
        for(int i=0;i<n;i++){
            int flag=i;
            for(int j=i+1;j<n;j++){
                if(vec[j]<vec[i]) break;
                if(vec[j]>vec[flag]) flag=j;
            }
            maxn=max(flag-i,maxn);
        }
        printf("%d\n",maxn);
    }
    return 0;
}

 



签到题(模拟)

标签:tom   frame   相等   scribe   using   class   tps   namespace   scanf   

原文地址:https://www.cnblogs.com/chenchen-12/p/10166052.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!