2014/11/25
这场比赛我断网了没打,回过头去看一片惨淡....连 B题都坑不出来...真是渣够了。
自己上手直接模拟去了,然后跪了。
1:3这个开头也考虑过,不过被(a[ 1 ] + a[ 2 ])/2 == a[ 4 ] - a[ 1 ] 吸引了过去......
然后没写出来。。
(大概又是神奇的3的性质,给我等着,我去学一些出成题目。。)
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int a[5];
int main()
{
int n;
while(~scanf("%d",&n))
{
for(int i =0 ;i < n; i++)
scanf("%d",&a[i]);
sort(a,a+n);
if(n==0)
{
printf("YES\n1\n1\n3\n3\n");
}
else if(n == 1)
{
printf("YES\n%d\n%d\n%d\n",a[0],3*a[0],3*a[0]);
}
else if(n == 4)
{
if(a[3]==3*a[0]&&a[1]+a[2]== 4*a[0]) printf("YES\n");
else printf("NO\n");
}
else if(n == 3)
{
if(a[2]>3*a[0]) printf("NO\n");
else if(3*a[0]==a[2]) printf("YES\n%d\n",4*a[0]-a[1]);
else if(a[0]*4==a[1]+a[2]) printf("YES\n%d\n",3*a[0]);
else if(a[2]%3==0&&a[2]/3*4==a[0]+a[1]) printf("YES\n%d\n",a[2]/3);
else printf("NO");
}
else
{
if(a[1]>3*a[0]) printf("NO\n");
else printf("YES\n%d\n%d\n",4*a[0]-a[1],3*a[0]);
}
}
return 0;
}