Codeforces Round #278 (Div. 2) B

来源:互联网 发布:云计算行业标准 编辑:程序博客网 时间:2024/06/08 19:44

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


0 0
原创粉丝点击