题目链接:http://codeforces.com/contest/1291/problem/C

思路:

我们可以很容易想到,只有前m-1个人才能影响m的选择的大小,后面的人无法影响。

如果所有人都无法控制,那么选数情况的不可控性很大,于是如果我们可以控制k个人,让他们的选择被我们控制,

那么,可控性随之上升,我们知道,只有前m-1个人能影响m的选择,于是,我们应该尽可能多的控制前m-1个人,

于是,我们可以控制的人数应该是x=min(k,m-1),如果x = m-1,说明m前面的所有人都可以控制,那就是可控的情况了,

我们就可以枚举x个人的选择情况,比如有3个人选了前3个数,那么x-3个人选了后x-3个数,ansi = max(a[4],a[n-(x-3)])。

最后的答案应该是end_ans = max(end_ans,ans1,ans2...ansm-1)一个for循环就可以搞定。

如果x < m-1,及有y = m-1-k个人的选择不确定,说明有了随机性,那么我就在上面可以确定的情况中枚举所有的随机选择,

对于随机情况我们需要选择最小值。因为ans要求的是任何情况的ans至少是多少。

 #include <iostream>
#include <cstdio>
using namespace std; int main(){ int a[];
int n,m,k,p,T;
cin >> T;
while(T--){
cin >> n >> m >> k;
for(int i = ; i <= n; ++i) cin >> a[i];
k = min(k,m-);//可控制的人数
p = max(m--k,);//不可控制的人数
int ans = -;
for(int i = ; i <= k; ++i){//i个人选前面的数,可控制的人
int tmp_ans = (int)1e9+;
for(int j = ; j <= p; ++j){//j个人选前面的数,不可控制的人
tmp_ans = min(tmp_ans,max(a[i+j+],a[n-(k-i)-(p-j)]));
}
ans = max(ans,tmp_ans);
}
cout << ans << endl;
} return ;
}

Codeforces Round #616 (Div. 2) C. Mind Control的更多相关文章

  1. Codeforces 1291 Round #616 (Div. 2) C. Mind Control(超级详细)

    C. Mind Control You and your n−1 friends have found an array of integers a1,a2,-,an. You have decide ...

  2. Codeforces Round #616 (Div. 2) B. Array Sharpening

    t题目链接:http://codeforces.com/contest/1291/problem/B 思路: 用极端的情况去考虑问题,会变得很简单. 无论是单调递增,单调递减,或者中间高两边低的情况都 ...

  3. Codeforces Round #616 (Div. 2) 题解

    A. Even But Not Even 题意: 定义一个数所有位置的和为偶数它本身不为偶数的数为ebne,现在给你一个数字字符串,你可以删除任意位置上的数字使其变为ebne输出任意改变后的结果,如果 ...

  4. Codeforces Round #616 (Div. 2)

    地址:http://codeforces.com/contest/1291 A题就不写解析了,就是给一个数,是不是本身满足这个条件或者删除某些数字来达到这个条件:奇数,各个位上的数字加起来是偶数. # ...

  5. Codeforces Round #616 (Div. 2) D

    莫队的模板 struct node{ int l,r,id; }q[maxn]; int cmp(node a,node b) { ) ? a.r < b.r : a.r > b.r); ...

  6. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  7. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  8. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  9. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

随机推荐

  1. 【转载】IPSec-Tools配置

    来源:https://blog.csdn.net/zt698/article/details/4811604 1       介绍从Linux 2.6内核开始,内核就自身带有IPSec模块,配合IPS ...

  2. centos7使用MySQL的Yum存储库安装mysql5.6.45

    注意:这个MySQL5.6.45版本有问题,修改配置文件不生效,推荐安装MySQL5.6.43 下载yum源 官网地址:http://dev.mysql.com/downloads/repo/yum/ ...

  3. telnet命令连接服务器端

    win7: (1).使用telnet命令: 控制面板--->程序--->打开或关闭Windows功能--->Telnet客户端[勾选] (2)连接(cmd) eg:telnet ww ...

  4. 《SQL基础教程》+ 《SQL进阶教程》 学习笔记

    写在前面:本文主要注重 SQL 的理论.主流覆盖的功能范围及其基本语法/用法.至于详细的 SQL 语法/用法,因为每家 DBMS 都有些许不同,我会在以后专门介绍某款DBMS(例如 PostgreSQ ...

  5. scrapy框架中多个spider,tiems,pipelines的使用及运行方法

    用scrapy只创建一个项目,创建多个spider,每个spider指定items,pipelines.启动爬虫时只写一个启动脚本就可以全部同时启动. 本文代码已上传至github,链接在文未. 一, ...

  6. Java实体对象为什么要实现Serializable接口?

    前言 Java实体对象为什么一定要实现Serializable接口呢?在学JavaSE的时候有些实体对象不实现Serializable不是也没什么影响吗? 最近在学习mybatis的时候发现,老师写的 ...

  7. vue 父子通信

    节制地使用 $parent 和 $children - 它们的主要目的是作为访问组件的应急方法.更推荐用 props 和 events 实现父子组件通信

  8. Page Object设计模式(一)

    一.简介 主要特点体现在“对界面交互细节的封装”上,使测试用例更专注于业务的操作,从而提高测试用例的可维护性.解决UI变动问题. page对象的一个基本原则经验法则是:凡是人能做的事,page对象通过 ...

  9. webstrom 2019 注册码(可用 2019年10月14日08:59:18)

    K6IXATEF43-eyJsaWNlbnNlSWQiOiJLNklYQVRFRjQzIiwibGljZW5zZWVOYW1lIjoi5o6I5p2D5Luj55CG5ZWGOiBodHRwOi8va ...

  10. EasyUI笔记(六)数据表格

    前言用asp.net结合easyui做个一个数据网格的页面,包括对数据的增删改查,界面如下:  一.UI界面 先写UI界面,代码如下,记得引入相关js和css文件 <body> <t ...