Codeforces 433 C Ryouko's Memory Note
来源:互联网 发布:如何查看ubuntu分区 编辑:程序博客网 时间:2024/05/16 18:45
存下每个数旁边的数字
将 i 旁边的数中从小到大排序取中位数
将 i 替换 中位数
算翻的页数
求出 ans值与mi比较大小
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <string>#include <vector>using namespace std;const int N = 100000+10;vector<int>ber[N];__int64 minn(__int64 a,__int64 b){return a<b?a:b;}int main(){int n,m,i,j;__int64 sum=0;int a[N];scanf("%I64d%I64d",&n,&m);for(i=0;i<m;i++){scanf("%I64d",&a[i]);}for(i=1;i<m;i++){sum+=abs(a[i]-a[i-1]);if(a[i]!=a[i-1]){ber[a[i]].push_back(a[i-1]);ber[a[i-1]].push_back(a[i]);}}__int64 mi=sum;for(i=1;i<=n;i++){vector<int> x=ber[i];if(x.size()==0)continue;sort(x.begin(),x.end());int po=x[x.size()/2];__int64 ans=sum;for(j=0;j<x.size();j++){ans+=abs(po-x[j])-abs(i-x[j]);}mi=minn(mi,ans);}printf("%I64d\n",mi);return 0;}
0 0
- Codeforces 433C Ryouko's Memory Note
- Codeforces 433 C. Ryouko's Memory Note
- Codeforces 433 C Ryouko's Memory Note
- Codeforces 433C Ryouko's Memory Note
- codeforces #433C Ryouko's Memory Note
- CodeForces 433C Ryouko's Memory Note(暴力加中位数)
- codeforces #433C Ryouko's Memory Note(瞎搞)
- CodeForces 433C Ryouko's Memory Note (数学)
- CF 433C Ryouko's Memory Note
- C. Ryouko's Memory Note
- Codeforces Round #248 (Div. 2) C.Ryouko's Memory Note
- Codeforces Round #248 (Div. 2) C. Ryouko's Memory Note
- Codeforces Round #248 (Div. 2) C - Ryouko's Memory Note
- Codeforces RoundC. Ryouko's Memory Note
- CF 248 C. Ryouko's Memory Note
- Codeforces433 C Ryouko’s Memory Note
- Ryouko's Memory Note(书本翻页)
- codeforces248(div1) A. Ryouko's Memory Note
- URL中汉字编码
- CPU GPU GPGPU【转自firefly_2002】
- eclipse下配置tomcat7的几个重要问题
- missing artifact com.oracle:ojdbc14:jar:10.2.0.2.0解决办法
- Unix环境高级编程阅读笔记(1)
- Codeforces 433 C Ryouko's Memory Note
- Javascript继承机制的设计思想
- QT的安装问题(创建项目是出现 目标位置,没有有效的Qt版本)windows环境下
- linux locale设置
- NYOJ-219 An problem about date
- Mac Tomcat 配置
- cocos2dx像素碰撞
- 一致代码段和非一致代码段
- 理解CCSID,LANGID对系统内码的影响