B. Sorted Adjacent Differences1200 / 思维 构造

Posted 幽殇默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B. Sorted Adjacent Differences1200 / 思维 构造相关的知识,希望对你有一定的参考价值。


https://codeforces.com/problemset/problem/1339/B

排序后从中间,螺旋式走即可,注意区分数组个数的奇偶。
证明: abs(a[i]-a[i+1]) < abs(a[i-1]+a[i+1])

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],ans[N],n,t;
int main(void)

	cin>>t;
	while(t--)
	
		cin>>n;
		for(int i=0;i<n;i++) cin>>a[i];
		sort(a,a+n);
		int i=0,index=n/2;
		if(n%2==0) index--;
		ans[i++]=a[index];
		bool flag=1;
		for(int i=1;i<=n-1;i++) 
		
			if(flag)
			
				index+=i;
				ans[i]=a[index];
				flag=0;
			else
			
				index-=i;
				ans[i]=a[index];
				flag=1;
			
		
		for(int i=0;i<n;i++) cout<<ans[i]<<" ";
		cout<<endl;
	
	return 0;

以上是关于B. Sorted Adjacent Differences1200 / 思维 构造的主要内容,如果未能解决你的问题,请参考以下文章

5.26 Vj A - Sorted Adjacent Differences

5.26 Vj A - Sorted Adjacent Differences

Pyhton集合数据结构

错误:26.1.0和27.1.1differ问题

VSS 出现 binary files differ 解决办法

一个写得很shabi的differ