【Link】:https://csacademy.com/contest/round-39/task/circle-elimination/

【Description】

【Solution】



把n个点依次标为1..n;

然后按照数字大小给每个人排序(记录它原来的位置);

走到第一个人,然后依次走到下一个人即可;

每次枚举往左走还是往右走即可;



【NumberOf WA】



0



【Reviw】

【Code】

/*

*/
#include <bits/stdc++.h>
#define int long long
using namespace std; struct node{
int num,pos;
}; node a[(int) 1e5+10];
int n; bool cmp(node a,node b){
return a.num < b.num;
} main(){
scanf("%lld",&n);
for (int i = 1;i <= n;i++){
int x;
scanf("%lld",&x);
a[i].num = x,a[i].pos = i;
}
sort(a+1,a+1+n,cmp);
int x = a[1].pos,ans = 0;
for (int i = 2;i <= n;i++){
int temp;
if (a[i].pos<=x){
temp = min(x-a[i].pos,n-x+a[i].pos);
}else
temp = min(a[i].pos-x,x+n-a[i].pos);
ans+=temp;
x = a[i].pos;
}
printf("%lld\n",ans);
return 0;
}

最新文章

  1. lua中的string类型
  2. 一个用shell写的统计目录下统计文件行数的代码
  3. Spring @Transactional propagation 各个属性值的含义
  4. ReentrantLock的实现语义与使用场景
  5. 阿里云主机上安装jdk
  6. BZOJ 2007 海拔(平面图最小割-最短路)
  7. TSQL基础(四) - 日期处理
  8. java问题:类的定义,对象的定义?
  9. BZOJ1533: [POI2005]Lot-A Journey to Mars
  10. [React] React Router: hashHistory vs browserHistory
  11. Thread源码剖析
  12. Dynamics CRM2016 Web Api之根据时间查询数据
  13. C/C++的20个位运算技巧
  14. json模块及其API
  15. linux sed 常见字符串处理
  16. python 文件路径名,文件名,后缀名的操作
  17. jdk动态代理在idea的debug模式下不断刷新tostring方法
  18. .net core webapi 部署windows server 2008 r2 笔记
  19. [BZOJ4811][YNOI2017]由乃的OJ(树链剖分+线段树)
  20. 为什么百度首页的HTML源代码最后一行要多一行?浪费空间呀!

热门文章

  1. [NOIP2015提高组]运输计划
  2. 参考《深度学习之PyTorch实战计算机视觉》PDF
  3. 紫书 例题 10-9 UVa 1636 (概率计算)
  4. ArcGIS api for javascript——地图配置-滑动器的刻度线、方向、大小的改变
  5. C#文件拖放至窗口的ListView控件获取文件类型
  6. js插件---瀑布流Masonry
  7. 10.ng-class-even与ng-class-odd
  8. Spring security工作流程及集成
  9. input file HTML控件控制
  10. Fedora27 安装Adobe Flash Player PPAPI与NPAPI实现Firefox和Chromium视频播放