需要想一下,今天邊和姐姐聊天兒,邊做題,感覺很好,題顯得不重要了,貼一下代碼,喜歡Waterloo的題
#include
<
iostream
>
#include
<
algorithm
>
using
?
namespace
?std;

#define
?N?1000005
double
?Min,Max;
double
?ants[N];

int
?main()

{
????
int
?ca,i,len,num;
????scanf(
"
%d
"
,
&
ca);
????
while
(ca
--
)

????
{
????????scanf(
"
%d%d
"
,
&
len,
&
num);
????????
for
(i
=
0
;i
<
num;i
++
)
????????????scanf(
"
%lf
"
,
&
ants[i]);
????????sort(ants,ants
+
num);
????????
double
?mid
=
len
/
2.0
;
????????
for
(i
=
0
;i
<
num;i
++
)
????????????
if
(ants[i]
>
mid)?
break
;
????????
if
(ants[num
-
1
]
<=
mid)
????????????Min
=
ants[num
-
1
];
????????
else
?
if
(ants[
0
]
>=
mid)
????????????Min
=
len
-
ants[
0
];
????????
else
?
if
(ants[i]
-
mid
>
mid
-
ants[i
-
1
])
????????????Min
=
ants[i
-
1
];
????????
else
?Min
=
len
-
ants[i];
????????
if
(len
-
ants[
0
]
>
ants[num
-
1
])
????????????Max
=
len
-
ants[
0
];
????????
else
????????????Max
=
ants[num
-
1
];
????????printf(
"
%d?%d\n
"
,
int
(Min),
int
(Max));
????}
????
return
?
0
;
}
然后貼一下標(biāo)程
#include?
<
stdio.h
>
int
?c,big,little,L,i,j,k,n;


main()
{
???scanf(
"
%d
"
,
&
c);

???
while
?(c
--
?
&&
?(
2
?
==
?scanf(
"
%d%d
"
,
&
L,
&
n)))?
{
??????big?
=
?little?
=
?
0
;

??????
for
?(i
=
0
;i
<
n;i
++
)?
{
?????????scanf(
"
%d
"
,
&
k);
?????????
if
?(k?
>
?big)?big?
=
?k;
?????????
if
?(L
-
k?
>
?big)?big?
=
?L
-
k;
?????????
if
?(k?
>
?L
-
k)?k?
=
?L
-
k;
?????????
if
?(k?
>
?little)?little?
=
?k;
??????}
??????printf(
"
%d?%d\n
"
,little,big);
???}
???
if
?(c?
!=
?
-
1
)?printf(
"
missing?input\n
"
);
}
喜歡這種風(fēng)格和想法,總是顯得簡單扼要,直命主題。