活生生打成了大模拟。。。

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int>PII;
const double eps=1e-5;
const double pi=acos(-1.0);
//const int mod=1e9+7;
const int INF=0x3f3f3f3f;
//http://codeforces.com/contest/382/submission/22599025 const int N=1e5+10;
int a[N];
int ans[N],num;
int n; void shuchu()
{
sort(ans,ans+num);
int e=unique(ans,ans+num)-ans;
printf("%d\n",e);
for(int i=0; i<e; i++)
printf("%d ",ans[i]);
} map<int,int>mp;
int mp_num; int main()
{
scanf("%d",&n);
for(int i=1; i<=n; i++)
scanf("%d",&a[i]); sort(a+1,a+1+n); if(n==1)
{
puts("-1");
return 0;
}
if(n==2)
{
int d=a[n]-a[n-1];
if(d%2==1)
{
num=0;
ans[num++]=a[n-1]-d;
ans[num++]=a[n]+d;
shuchu();
}
else
{
num=0;
ans[num++]=a[n-1]-d;
ans[num++]=a[n]-d/2;
ans[num++]=a[n]+d;
shuchu();
}
return 0;
}
//3 4 4 5
//1 2 3
//1 2 4
int d1,temp,d2,num1,num2;
int dx1,dx2;
num2=num1=0;
d1=a[2]-a[1];
dx1=2;
num1++;
mp_num=1;
mp[d1]=1;
for(int i=3; i<=n; i++)
{
temp=a[i]-a[i-1];
if(!mp[temp])
{
mp[temp]=1;
mp_num++;
}
if(temp!=d1)
{
num2++;
dx2=i;
d2=temp;
}
else
num1++;
}
if(mp_num>=3)
{
puts("0");
return 0;
}
if(!num2)
{
num=0;
ans[num++]=a[1]-d1;
ans[num++]=a[n]+d1;
shuchu();
}
else
{
if(num1==1&&num2==1)
{
int res=a[dx2]-d1;
if(res*2==(a[dx2]+a[dx2-1]))
{
puts("1");
printf("%d\n",res);
return 0;
}
res=a[dx1]-d2;
if(res*2==(a[dx1]+a[dx1-1]))
{
puts("1");
printf("%d\n",a[dx1]-d2);
return 0;
}
puts("0");
}
else if(num2==1)
{
int res=a[dx2]-d1;
if(res*2==(a[dx2]+a[dx2-1]))
{
puts("1");
printf("%d\n",res);
}
else
puts("0");
}
else if(num1==1)
{
int res=a[dx1]-d2;
if(res*2==(a[dx1]+a[dx1-1]))
{
puts("1");
printf("%d\n",a[dx1]-d2);
}
else
puts("0");
}
else
puts("0");
}
return 0;
}

最新文章

  1. TO BUY
  2. jQuery:提交表单前判断表单是否被修改过
  3. html5实现摇一摇功能
  4. spring定时器(一)
  5. aapt命令介绍及常用命令实践
  6. duapp获取mysql用户名密码等等……
  7. EXTJS 4.2 资料 控件之隐藏显示setVisible、只读setDisabled
  8. C++函数后面加const修饰
  9. spoj COT2 - Count on a tree II 树上莫队
  10. 关于TileBrush中Viewbox,Viewport以及Stretch,AlignmentX/Y的详细研究
  11. win10 UWP 应用设置
  12. Spring系列(三):Spring IoC中各个注解的理解和使用
  13. python对word的操作
  14. php框架:Flight 简介
  15. 关于 Container ,Injection
  16. iOS,Android,WP, .NET通用AES加密算法
  17. 《编写高质量代码:改善JavaScript程序的188个建议》学习小记(二)
  18. 详解google Chrome浏览器(理论篇)
  19. Spark构成
  20. pydoc介绍

热门文章

  1. centos6.4中文输入法安装和切换(转载)
  2. CXF实战之自己定义拦截器(五)
  3. if __name__
  4. Aspose.cells 读取Excel表中的图片问题
  5. Asp.net mvc4 快速入门之构建表单
  6. 图片转base64存储
  7. openstack之路:KVM/Libvirt 安装
  8. ThinkPHP RBAC权限管理机制
  9. android系统启动框架、Activity界面显示过程详解
  10. xmlToEntity or entityToXML 工作笔记