asdfghjkl66666 2017-09-11 23:00:31
点我顶贴
收藏
删除
#include<bits/stdc++.h>
int n,k,a[200010],t=0;
bool pd(int x)
{
for(int i=1;i<=x;i++)
{
if(x%i==0) return false;
}
return true;
}
void dfs(int l,int r)
{
int x=l,y=r,m=a[(x+y)/2];
while(x<=y)
{
while(a[x]<m)x++;
while(a[y]>m)y--;
if(x<=y)
{
int t=a[x];a[x]=a[y];a[y]=t;
x++;y--;
}
}
if(x<r)dfs(x,r);if(y>l)dfs(l,y);
}
int main()
{
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
dfs(1,n);
int sum=0;
for(int i=1;i<=n;i++)
{
if(a[i]==k)
{
sum=a[i-1]+a[i+1];
break;
}
}
if(pd(sum)) printf("%d\nY",sum);
else printf("%d\nF",sum);
return 0;
}