题意:n个数n个人依次取数,每个人只能取第一个数或最后一个数,你可以从一开始控制k个人取最前边或是最后边的数,你排在第m位,能取到的最大的数是多少。所有人取数都是最优策略(不是每次取最大数)。

题解:假设k是0,那么就是n个人,你第m个取,此时可以从0到m-1遍历表示有i个人从前边取,那么剩下的 m-1-i个人就是从后边取得,然后轮到你取得时候就是在i+1个数和n-(m-i-1)个数取最大的,从这些最大值中取最小的就是答案了;k不是0的时候,因为可以控制k个人,所以你肯定要使他们的取法最有利于你,那么,遍历从0到k表示有i个人被你控制从前边取,剩下的人从后边取,这样就变成了k是0,有n-k个数,你是第m-k-1个取,求取得的最大值,根据上边k=0的求法在所有求得的最小值中取最大值就是结果了。

 1 #include<bits/stdc++.h>
2 using namespace std;
3
4 int a[3510];
5
6 int main()
7 {
8 int t;
9 scanf("%d",&t);
10 while(t--){
11 int n,m,k;
12 scanf("%d%d%d",&n,&m,&k);
13 memset(a,0,sizeof(a));
14 for(int i=0;i<n;i++){
15 scanf("%d",&a[i]);
16 }
17 int ans=0;
18 if(m<=k+1){
19 for(int i=0;i<m;i++){
20 ans=max(ans,a[i]);
21 }
22 for(int i=n-1;i>=n-m;i--){
23 ans=max(ans,a[i]);
24 }
25 printf("%d\n",ans);
26 }
27 else{
28 ans=0x3f3f3f3f;
29 int p=m-k;
30 if(k==0){
31 for(int i=0;i<m;i++){
32 int sum=0;
33 sum=max(a[i],a[n-m+i]);
34 ans=min(ans,sum);
35 }
36 printf("%d\n",ans);
37 }
38 else {
39 int q=0;
40 for(int i=0;i<=k;i++){
41 ans=0x3f3f3f3f;
42 for(int j=i;j<p+i;j++){
43 int sum=0;
44 sum=max(a[j],a[(n-k+i)-(p+i)+j]);
45 ans=min(ans,sum);
46 }
47 q=max(q,ans);
48 }
49 printf("%d\n",q);
50 }
51 }
52 }
53 return 0;
54 }

最新文章

  1. 从ASP.NET 升级到ASP.NET5(RC1) - 翻译
  2. JS的基础类型与引用类型
  3. 关于 angular 小心得
  4. 第一章 工欲善其事 必先利其器—Android SDK工具(3)
  5. Linux 让进程在后台可靠运行的几种方法
  6. 【翻译】Microsoft Ajax Minifier 快速使用指南(与VS集成使用) 编译后直接压缩项目的JS或CSS文件
  7. delphi R3下 跨进程获取DLL信息 NtQueryInformationProcess
  8. twisted学习笔记4 部署Twisted 应用程序
  9. Python之向日志输出中添加上下文信息
  10. 高级Java程序员的技术进阶之路
  11. CNAME关联githubPage域名及中文域名,创建个人网站
  12. 如何成为快手尬舞王?HUAWEI HiAI了解一下!
  13. VC++安装及使用
  14. mysql5.7高版本加载低版本sql文件,时间不能为0000-00-00格式错误
  15. elasticsearch概念
  16. 7--Python入门--条件和循环
  17. Myeclipse10.7安装git插件并将Java项目上传到码云(github)
  18. 不懂RPC实现原理怎能实现架构梦
  19. Android - 网络基础
  20. sql server 数字字符串的排序

热门文章

  1. LeetCode707 设计链表
  2. 【RAC】双节点RAC搭建
  3. 【ORA】Specified value of MEMORY_TARGET is too small, needs to be at least 3072M解决办法
  4. 与图论的邂逅05:最近公共祖先LCA
  5. 1.5V转3V电源芯片,1.5V转3V稳压芯片
  6. 1.5V升3V芯片和电路图,DC-DC升压IC
  7. gRPC-go源码(1):连接管理
  8. CMU数据库(15-445)实验2-b+树索引实现(上)
  9. Python内存浅析
  10. Windows Server 2012 R2 英文版汉化安装中文语言包教程更改为中文版