题目描述
龙城八大高校校友联盟继西太湖义行之后又隆重推出了拔河比赛,小X所在的南都大学校友会对这项赛事十分重视,专门指定重量级的小X来负责此事,每天下班后南都大学校友会的拔河队员只要有空都会前往中天体育馆训练,训练前小X先要将所有队员分成两个队,每队人数最多只能相差 1 人,且重量要尽可能接近,小X最近忙于研制量子计算机,没空写这个拔河程序,于是他找到了你,希望你帮他完成这项任务。
输入
输入数据第一行包含一个正整数 n,表示人数
第二行包含 n 个用空格隔开的正整数,表示每个人的重量 ai
输出
输出一行若干个整数,其中第一个整数为该组人数 t,之后 t 个整数表示每个人在原始数据中的编号,相邻两个整数间用一个空格隔开(其中一组的人确定下来后,另一组自然而然也就确定下来了),你只要输出任意一种可行的方案。
样例输入
复制样例数据 6
5 3 3 3 3 4
样例输出
3 1 2 3

提示
40%的数据,N<=6, a i <=10
70%的数据,N<=24, a i <=500
100%的数据,N<=36, a i <=10^15,注意重量要用 long long 类型数据!

思路是把序列先从小到大排一下,然后交换一部分数据使其变成一大一小的数列,提取前一半。

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
struct stu{int h;int order;
}a[100000],temp;
int cmp(stu a,stu b)
{return a.h<b.h;
}
int main()
{int n,t,num;cin>>n;t=n/2;for(int i=1;i<=n;i++){cin>>a[i].h;a[i].order=i;}sort(a+1,a+1+n,cmp);for(int i=1;i<=n/2;i=i+2){temp=a[i];a[i]=a[n+1-i];a[n-1-i]=temp;}printf("%d",t);for(int i=1;i<=n/2;i++)printf(" %d",a[i].order);return 0;
}

中石油新生赛第八场 问题 G: 常州拔河相关推荐

  1. 中石油新生赛第八场 问题 A: 春游

    题目描述 小X就读的CZ 中学今年又取得了小高考的空前佳绩,全校师生都很开心,于是大家希望找个地方去春游,在广泛征集了全校师生的意见后,最终决定前往嬉戏谷游玩一天.出行方案为租用大巴,可供租用的大巴有 ...

  2. 中石油新生赛第八场 问题 C: BMI

    题目描述 小X经过刻苦训练获得了 NOIP 的国一,并参加了 NOI,获得了保送资格,被保送到南都大学学习,进入大学以后,小X觉得中学编程太辛苦了,应该好好犒劳一下自己,刚好南都大学周边美食如云,吃不 ...

  3. 2022杭电多校赛第八场

    2022杭电多校赛第八场 文章目录 2022杭电多校赛第八场 1004.Quel'Thalas 1001.Theramore 1011.Stormwind 1008.Orgrimmar 1005.Ir ...

  4. 2021年度训练联盟热身训练赛第八场

    目录 2021年度训练联盟热身训练赛第八场 A-Fire on Field 题意 思路 代码 B-Gene Tree 题意 思路 代码 I-Thread Knots 题意 思路 代码 J-Triang ...

  5. 中石油 暑期集训个人赛第一场 题解

    首先是签到题部分:A,E,I.    传送门:点击打开链接 然后是DP部分:C,G,H.        传送门:点击打开链接 还有其他:B,J,H,F. 神奇的B题(我的第一个一血) 问题 B: 拯救 ...

  6. 中石油训练赛 - Swapping Places(字典序最小的拓扑排序)

    题目链接:点击查看 题目大意:给出 s 个字符串表示种类,再给出 m 个朋友关系,表示两个种类的动物是朋友,现在给出一个长度为 n 的种类排列,规定相邻两个是朋友的种类的动物可以交换位置,问如何操作, ...

  7. 中石油训练赛 - Gone Fishing(固定大小的圆可以覆盖最多的点)

    题目大意:在二维平面中给出 n 个点,再给出一个固定大小的圆,问如何放置这个圆可以使其覆盖最多的点 题目分析:首先不难想到一种 n^3 的做法,就是两层循环去枚举两个点,因为两个不同的点就可以确定下来 ...

  8. 中石油训练赛 - Russian Dolls on the Christmas Tree(树上启发式合并/主席树)

    题目链接:点击查看 题目大意:给出一棵 n 个节点的树,以点 1 为根,现在对于每个节点作为根的子树求解:子树中有多少个编号不相交的连续子段,如:1 2 4 5 7,共有三个连续的段,分别为 [ 1 ...

  9. 中石油训练赛 - Check List(线段树维护偏序问题)

    题目大意:给出 n 个点,需要计算出满足下列条件的三元对 ( i , j , k ) 的数量: x[ i ] < x[ j ] < x[ k ] y[ k ] > y[ i ] &g ...

最新文章

  1. wxWidgets编程笔记二(samples使用设置)
  2. Mysql 死锁过程及案例详解之记录锁与间隔锁Record Lock Gap Lock
  3. python 元组遍历_Python中的for循环:元组、列表、字典的遍历和相互转化
  4. C语言 fclose 函数 - C语言零基础入门教程
  5. Spark之scala学习(基础篇)待更新
  6. 为什么很多设计师都会选择mac?
  7. Kaldi 语音识别基础教程
  8. 微信小程序云开发教程-微信小程序的API入门-获取用户身份信息系列API
  9. 【细胞分割】基于matlab分水岭算法细胞分割计数【含Matlab源码 639期】
  10. tp5验证码详细代码
  11. 机器学习 周志华 课后习题 7.3
  12. vue 手写签名_真正的艺术签名!让你的名字充满明星范!
  13. php 快递鸟 批量打印,电子面单批量打印接口简易手册(快递鸟)
  14. 前端的性能优化-笔记
  15. 实用Ip、手机、身份证归属地查询API
  16. 知乎客户端埋点流程、模型和平台技术
  17. (已解决)579B但答案仍旧错误terminate called after throwing an instance of ‘ std::bad_array_length‘,
  18. RetinaNet模型在DDSM数据集的应用问题(3)
  19. 《实变函数简明教程》,P114,第7题(积分具有绝对连续性 推导 Lebesgue可积)
  20. apicloud (第五篇 bmap百度地图一键回到当前位置)

热门文章

  1. 标准linux休眠和唤醒机制分析
  2. KUKA机器人常用系统变量
  3. 环境变量中的用户变量与系统变量的区别修改环境变量
  4. HDU 5598:GTW likes czf 敲了一天的数位DP
  5. Python模拟cp操作
  6. github使用教程图文详解(一)[入门]
  7. 某视频互联网企业 校招面试
  8. 研究生们刚开始看英文文献是怎么看的
  9. python中repr_关于python的str()和repr()函数
  10. iptables之snat