讨论 / 给看一下哪里错了,为什么3个数据过不去,谢谢!
elf465504453 2011-05-04 01:40:00
点我顶贴 收藏 删除
#include<stdio.h>/*159*/

int main()

{

register long int i,max,least,bi,si;

long int pd(long int),b[100000],s[100000],n,k,temp;

scanf("%ld%ld",&n,&k);

for(i=0,bi=0,si=0;i<n;i++){

scanf("%ld",&temp);

if(temp>k){

b[bi]=temp;

bi++;

}

else if(temp<k){

s[si]=temp;

si++;

}

}

for(i=0,max=b[bi-1];i<bi;i++)if(b[i]<max)max=b[i];

for(i=0,least=s[si-1];i<si;i++)if(s[i]>least)least=s[i];

/*end input*/

temp=max+least;

printf("%ld\n",temp);

if(pd(temp)==1)putchar('Y');

else putchar('F');

return 0;

}

long int pd(long int x)

{

long int i;

i=2;

while(i!=x){

if(x%i==0)return 0;

i++;

}

return 1;

}

#1 elf465504453@2011-05-04 01:40:00
回复 删除
已经解决,数组长度修改为200000即可,看来这个题数据量很大。
查看更多回复
提交回复