比赛 EYOI与SBOI开学欢乐赛1st 评测结果 AAAAAAAAAA
题目名称 设备分解炉 最终得分 100
用户昵称 ZRQ 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-08-29 21:15:05
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=105,L=20005;
int n,len,ans,vis[L];
int x[N];
int judge(int a,int b,int pos)
{
	int l=a,r=b;
	if(a>=n-b+1)
		for(int i=b;i<=n;++i)
		{
			if(x[i]-pos!=pos-x[l]) return 0;
			--l;
		}
	else
		for(int i=a;i>=1;--i)
		{
			if(pos-x[i]!=x[r]-pos) return 0;
			++r;
		}
	memset(vis,0,sizeof(vis));
	return 1;
}
int main()
{
	freopen("device.in","r",stdin);
	freopen("device.out","w",stdout);
	scanf("%d%d",&n,&len);
	for(int i=1;i<=n;++i) scanf("%d",&x[i]),x[i]*=2;
	sort(x+1,x+1+n);
	for(int i=2;i<=n;++i)
	{
		if(i!=n) ans+=judge(i-1,i+1,x[i]);
		ans+=judge(i-1,i,(x[i-1]+x[i])/2);
	}
	printf("%d\n",ans);
	return 0;
}