Codeforces Round #330 (Div. 2)C. Warrior and Archer(博弈,贪心)
2015-11-20 17:43
417 查看
题目链接
题意:n个数,俩人轮流删除数,使得最后剩下2个,一个希望俩数之间的距离最小,一个希望剩下的距离最大
解答:证明见官方题解,假设最后剩下[L,R ]的区间,那么一定是一个人删了[L,R]之间的数,另一个删除了[L,R]之外的数字。
题意:n个数,俩人轮流删除数,使得最后剩下2个,一个希望俩数之间的距离最小,一个希望剩下的距离最大
解答:证明见官方题解,假设最后剩下[L,R ]的区间,那么一定是一个人删了[L,R]之间的数,另一个删除了[L,R]之外的数字。
#include<bits/stdc++.h> using namespace std; #define LL long long #define pb push_back #define X first #define Y second #define cl(a,b) memset(a,b,sizeof(a)) typedef pair<int,int> P; const int maxn=300005; const LL inf=1<<27; const LL mod=1e9+7; LL a[maxn]; int main(){ int n;scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%lld",&a[i]); } sort(a,a+n); LL ans=1LL<<62; for(int i=0;i<n;i++)if(i+n/2<n){ ans=min(ans,a[i+n/2]-a[i]); } printf("%lld\n",ans); return 0; }
相关文章推荐
- Android ListView的Item点击失效问题
- 关于Android M RuntimePermission的问题
- Android 如何调用自写APK和非自写APK
- quartz设置时间表达式
- CAS4 之 集成RESTful API
- react js分析2
- 插入mysql时重复数据处理方法
- 普法知识(6):普法教育电子化
- tomcat内存溢出
- iOS开发者面试必备题汇总
- MT7620原生SDK支持HUAWEI 4G dongle
- ZOJ 3551 Bloodsucker [概率DP]
- linux下rsync命令参数讲解整理
- Android判断屏幕锁屏的方法总结
- laravel5——事件
- 黑马程序员——Java基础---面向对象(一)
- 安装lamp进行一些修改
- Android 内存分析工具MAT(上)
- POJ 1182 食物链
- .net多层架构