比赛 |
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;
}