zoukankan      html  css  js  c++  java
  • 看美女(二)

    看美女(二)

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:2
     
    描述
    “排排站,赏美女……”
           N个人站成一排。不巧,美女们只在队伍的最左边和最右边,你们可以向左看或者向右看。如果第i个人向左看,当且仅当第i个人的身高h[i]>h[j] ( j=1...i-1) 时,他能看到美女;如果第i个人向右看,当且仅当第i个人的身高h[i]>h[j] (j=i+1..N)时,他能看见美女。已知N个人的身高,为了能让更多的人看到美女,你的任务是找出最好的站队方法,让最多的人能看到美女,输出最多有多少人可以看到美女。
     
    输入
    先输入一个数T 表T组
    每组数据: 第一行 N。N<=100 000
    第二行 N个整数, 1<=h<=20000
    输出
    输出答案 换行。
    样例输入
    1
    5
    1 4 7 6 2
    样例输出
    5
    来源
    原创
    上传者
    TC_胡仁东
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 #include <vector>
     6 #include <climits>
     7 #include <algorithm>
     8 #include <cmath>
     9 #define LL long long
    10 using namespace std;
    11 int d[100010],tot;
    12 int main() {
    13     int kase,i,n,ans,pre;
    14     scanf("%d",&kase);
    15     while(kase--) {
    16         scanf("%d",&n);
    17         for(i = 0; i < n; i++)
    18             scanf("%d",d+i);
    19         sort(d,d+n);
    20         ans = 1;
    21         pre = tot = 0;
    22         for(i = 1; i < n; i++) {
    23             if(d[i] > d[i-1]) ans++;
    24             else if(d[i] > pre){
    25                 ans++;
    26                 pre = d[i];
    27             }
    28         }
    29         printf("%d
    ",ans);
    30     }
    31     return 0;
    32 }
    View Code
  • 相关阅读:
    计算任意两个日期的间隔天数
    题目标题: 排它平方数
    历届试题 剪格子
    历届试题 翻硬币
    C语言中%d,%o,%f,%e,%x的意义
    历届试题 买不到的数目
    九度 OJ1008 hdu 3790
    南洋理工 OJ 115 城市平乱 dijstra算法
    蓝桥杯 错误票据 原创代码+思路
    历届试题 连号区间数
  • 原文地址:https://www.cnblogs.com/crackpotisback/p/3830523.html
Copyright © 2011-2022 走看看