CF410div2 D. Mike and distribution
/*
CF410div2 D. Mike and distribution
http://codeforces.com/contest/798/problem/D
构造
题意:给出两个数列a,b,求选出n/2+1个数对,使得其和的二倍大于各自的数列
思路:对数列a进行排序,因为可以选一半加1个,所以最大的那个我们选出来
然后在剩下的数列中,每隔两个选则b中较大的,
这样可以保证选出的在b中满足条件,并且在a中也满足条件
然而。。。。我他喵的居然忘了读入b数列!!!!
*/
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <vector>
#include <queue>
#include <iostream>
#include <map>
#include <set>
//#define test
using namespace std;
const int Nmax=1e6+;
long long a[Nmax],b[Nmax];
int m;
long long s1,s2;
long long now1,now2;
int book[Nmax];
struct Node
{
int a;
int id;
}num[Nmax];
bool cmp(Node a,Node b)
{
return a.a>b.a;
}
int ans[Nmax];
int main()
{
#ifdef test
#endif
int n;
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%lld",&a[i]);
num[i].id=i;
num[i].a=a[i];
}
for(int i=;i<=n;i++)//忘了读入b[],真是醉了,感觉最近不适合写代码。。。
scanf("%lld",&b[i]);
sort(num+,num++n,cmp);
int ans_size=;
int i=;
ans[++ans_size]=num[i++].id;
for(;i<=n;i+=)
{
if(i==n)
{
ans[++ans_size]=num[i].id;
break;
}
if(b[num[i].id]>b[num[i+].id])
ans[++ans_size]=num[i].id;
else
ans[++ans_size]=num[i+].id;
}
printf("%d\n",ans_size);
for(int i=;i<=ans_size;i++)
printf("%d%c",ans[i],i==ans_size?'\n':' ');
return ;
}
CF410div2 D. Mike and distribution的更多相关文章
- codeforces 798 D. Mike and distribution
D. Mike and distribution time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- #410div2D. Mike and distribution
D. Mike and distribution time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- D. Mike and distribution 首先学习了一个玄学的东西
http://codeforces.com/contest/798/problem/D D. Mike and distribution time limit per test 2 seconds m ...
- Codeforces 798D Mike and distribution(贪心或随机化)
题目链接 Mike and distribution 题目意思很简单,给出$a_{i}$和$b_{i}$,我们需要在这$n$个数中挑选最多$n/2+1$个,使得挑选出来的 $p_{1}$,$p_{2} ...
- CF410div2 B. Mike and strings
/* CF410div2 B. Mike and strings http://codeforces.com/contest/798/problem/B 字符串 暴力 题意:给你n个串,每次操作可以将 ...
- CF410div2 A. Mike and palindrome
/* CF410div2 A. Mike and palindrome http://codeforces.com/contest/798/problem/A 水题 */ #include <c ...
- CF798D Mike and distribution
CF798D Mike and distribution 洛谷评测传送门 题目描述 Mike has always been thinking about the harshness of socia ...
- Codeforces 798D Mike and distribution - 贪心
Mike has always been thinking about the harshness of social inequality. He's so obsessed with it tha ...
- 【算法系列学习】codeforces D. Mike and distribution 二维贪心
http://codeforces.com/contest/798/problem/D http://blog.csdn.net/yasola/article/details/70477816 对于二 ...
随机推荐
- 洛谷 P1498 南蛮图腾 —— 模拟
题目:https://www.luogu.org/problemnew/show/P1498 大约一年前该做的题...现在来填一下坑: 然而不怎么会模拟!还滚去看TJ了: 就是翻倍复制: \ 这个符号 ...
- 快速访问GitHub
Github网站可以访问,但是由于网络代理商的原因,造成访问速度很慢. 本文采取方法:手动更改hosts Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与 ...
- JavaScript--提问(prompt 消息对话框)
prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息.弹出消息对话框(包含一个确定按钮.取消按钮与一个文本输入框). 语法: prompt(str1, str2); 参数说明: str1: ...
- 题解报告:hdu 2066 一个人的旅行
Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...
- hcode视频教程中心(学习h5和hbuilder等)
网站: http://www.hcoder.net/course
- cocos2d-x 调用第三方so文件
一:假设.so文件名称 : libhi.so 1.jni文件下创建一个prebuilt 2.android.mk文件中找到 include $(CLEAR_VARS), 在这句后面添加如下代码 in ...
- STMP服务器发送邮件,本地可以发送但是服务器一直发送不成功;
在官网上查看到信息 考虑到部分云服务商封禁了其内网对外 25 端口的访问, xxxxx 端口号: 2525 xxxxx 端口号: 587 然后,我换了一下端口号就行了,浪费了我三个小时时间,贼尴尬:
- 如何下载JDK和JRE历史版本
首先进入网址http://www.oracle.com/technetwork/java/javase/downloads/index.html 然后页面滑到最下面,选择[Java Archive]后 ...
- 商业计算中Java高精度计算BigDecimal类
<Effective Java> 第48条:如果需要精确的答案,请避免使用float和double. 如果我们编译运行下面这个程序会看到什么?public class Test{ p ...
- Android 使用WebView浏览有声音或者视频的网页,关闭WebView之后,声音或者视频不停止的解决办法
笔者最近使用Eclipse开发Android移动应用app,其实有一个功能是使用Android系统自带的WebView控件加载Web页面.开发很顺利,浏览也很正常.不过有个比较特殊的一点就是加载的We ...