牛客锦标赛

简介: 牛客锦标赛

题目描述


组委会正在为美团点评CodeM大赛的决赛设计新赛制。


比赛有 n 个人参加(其中 n 为2的幂),每个参赛者根据资格赛和预赛、复赛的成绩,会有不同的积分。比赛采取锦标赛赛制,分轮次进行,设某一轮有 m 个人参加,那么参赛者会被分为 m/2 组,每组恰好 2 人,m/2 组的人分别厮杀。我们假定积分高的人肯定获胜,若积分一样,则随机产生获胜者。获胜者获得参加下一轮的资格,输的人被淘汰。重复这个过程,直至决出冠军。


现在请问,参赛者小美最多可以活到第几轮(初始为第0轮)?


输入描述:

第一行一个整数 n (1≤n≤ 2^20),表示参加比赛的总人数。

接下来 n 个数字(数字范围:-1000000…1000000),表示每个参赛者的积分。

小美是第一个参赛者。

输出描述:

小美最多参赛的轮次。

输入示例

4
4 1 2 3

输出样例

2

方法一:DFS (85%的样例),

对于除了小美的参赛人员进行排序,每次小美都和其中几分最少的人进行比拼,如果小美的几分比这个最少的都要小,则说明小美这局会被淘汰.如果最终只剩下小美一个人,则说明小美是No1…

参考代码1

// 锦标赛 85% 
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> v;
int n,cnt,num;
void dfs(int m){
  if(m==1){
    return;
  }
  if(v[0]>v[1]){
    cnt++;
  }else{
    return;
  }
  for(int i = 0;i<v.size();i++){
    if(v[i]>v[i+1]){
      v.erase(v.begin()+i+1);
    }else{
      v.erase(v.begin()+i);
    }
  }
  dfs(v.size());
}
int main()
{
  cin>>n;
  for(int i = 0; i < n;i++){
    cin>>num; 
    v.push_back(num);
  }
  sort(v.begin()+1,v.end());
  dfs(v.size());
  cout<<cnt<<endl;
  return 0;
}
相关文章
|
Java Spring 容器
|
9月前
|
Java Maven Android开发
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
本文介绍了Spring Boot开发环境的搭建和项目启动流程。主要内容包括:jdk的配置(IDEA、STS/eclipse设置方法)、Spring Boot工程的构建方式(IDEA快速构建、官方构建工具start.spring.io使用)、maven配置(本地maven路径与阿里云镜像设置)以及编码配置(IDEA和eclipse中的编码设置)。通过这些步骤,帮助开发者顺利完成Spring Boot项目的初始化和运行准备。
772 0
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
|
JSON 数据格式
DTHttpJson UE4插件使用说明
DTHttpJson UE4插件使用说明
799 0
|
数据采集 运维 DataWorks
DataWorks on EMR StarRocks,打造标准湖仓新范式
本文整理自阿里云计算平台产品专家周硕(簌篱)在阿里云DataWorks on EMR StarRocks解决方案介绍中的分享。介绍了阿里云DataWorks与EMR Serverless StarRocks的结合使用,详细阐述了在数据同步、数据消费、数据治理三大场景中的核心能力。DataWorks作为大数据开发治理平台,提供了从数据建模、数据集成、数据开发到数据治理的全链路解决方案,结合StarRocks的高性能分析能力,帮助企业实现OLAP分析、湖仓一体开发及数据综合治理,满足复杂业务场景下的需求,提升数据处理和分析效率。
RabbitMQ实现延迟消息居然如此简单,整个插件就完事了
RabbitMQ实现延迟消息的方式有两种,一种是使用死信队列实现,另一种是使用延迟插件实现。死信队列实现我们以前曾经讲过这次我们讲个更简单的,使用延迟插件实现。
|
算法
图的应用(最小生成树,最短路径,有向无环图)
图的应用(最小生成树,最短路径,有向无环图
286 0
|
存储 大数据 数据挖掘
大数据中的交易数据
【4月更文挑战第11天】大数据中的交易数据,包含购买记录、订单详情等,为企业决策提供关键信息。通过分析,企业能理解客户习惯、优化产品与定价,预测市场趋势,发现新机会。结合其他数据类型可做全面分析,但需应对数据量大、存储处理难及隐私安全问题。利用交易数据,企业能提升营销精准度,实现持续增长。
322 4
|
机器学习/深度学习 人工智能 Java
20款超级好用的idea插件,开发效率翻倍!!!
20款超级好用的idea插件,开发效率翻倍!!!
894 1
|
缓存 Java 数据库连接
一文彻底搞懂Mybatis系列(十)之SqlSession、SqlSessionFactory和SqlSessionFactoryBuilder详解
一文彻底搞懂Mybatis系列(十)之SqlSession、SqlSessionFactory和SqlSessionFactoryBuilder详解
1456 1