nmax=50;
type
int=longint;
var
A:array[1..nmax] of int;
n,m,s:int;
i:int;
begin
readln(m,n,s);
for i:=1 to n do
read(A[i]);
i:=1;
while (i<=n) and (A[i]>s) do inc(i);
{循环过后 i指向s在排行榜里应该在的位置}
if (i>m) or ((i=m) and (s=A[n])) then write(-1)
else write(i);
end.
第四个点死活过不去...
答案输出的是-1...我的结果是1
我觉得这段代码写的还是蛮清晰的呀...
谁能帮我找一个反例呢../~ Thanks~
答案输出的是-1...我的结果是1
program w262;
var a:array[1..50]of longint;
p,s,n,i,j,m:longint;
begin
fillchar(a,sizeof(a),0);
readln(p,s,n);
m:=0;
for i:=1 to s do
readln(a[i]);
for i:=1 to p do
if a[i]<=n then
begin
m:=i;
break;
end;
if m=0 then m:=s+1;
if (m>p) or ((m=p) and (n=a[p])) then
begin
writeln(’-1’);
halt;
end;
writeln(m);
readln;
readln;
end.