三元组中心问题

题目描述

c0877a5732454845869e21812741a1d9.png

输入描述

8fa9a0e7c9df4dc1aadd4bcbbccbd328.png

输出描述

输出一行包含一个整数,表示答案。

输入输出样例

示例

输入

5
1 2 5 3 5

输出

2

样例说明:

a2​ 和 a4​ 可能是三元组的中心。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

总通过次数: 1955  |  总提交次数: 2207  |  通过率: 88.6%

难度: 困难   标签: 2020, 模拟, 思维, 省模拟赛

代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, x, y, i, z, a = 0, w, max, s[1000], d[1000] = {0}; // 声明变量

    // 读取输入
    scanf("%d", &n); // 读取n的值
    scanf("%d", &s[0]); // 读取s[0]的值
    for (i = 1; i < n; i++)
    {
        scanf("%d", &s[i]); // 读取剩余的s数组的值
    }

    // 计算符合条件的情况
    for (x = 0; x < n - 2; x++)
    {
        for (y = x + 1; y < n - 1; y++)
        {
            if (s[x] < s[y])
            {
                for (z = y + 1; z < n; z++)
                {
                    if (s[y] < s[z]) // 当s[x]<s[y]<s[z]时
                    {
                        d[y] += 1; // d[y]加1
                        break;
                    }
                }
            }
        }
    }

    // 统计符合条件的数量
    for (w = 0, i = 0; i < n; i++)
    {
        if (d[i] != 0) // 如果d[i]不为0
            w += 1;     // 则w加1
    }

    printf("%d", w); // 输出结果
    return 0;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值