level 12
紫弦☞
楼主
题目描述
兔子小白是位数学爱好者,有一次它参加了兔界里的数学比赛,成绩公布后,小白很想知道自己的成绩到底排第几,现在请你帮它编一个程序,要求输入一个成绩,就能知道相应的名次。注意:同分的按相同名次算,且只算一次。
输入
输入共三行。
第一行:一个整数n(n<=30000)
第二行:n个正整数(这些数不大于1000)。
第三行:一个整数,需要查询的分数。
输出
输出共一行。
一个整数,查询成绩的名次。
样例输入730 50 80 60 20 50 6050
样例输出3
以下是我的代码
var n,i,j,x,t:longint;a:array[1..30000] of integer;
begin
read(n);
for i:=1 to n do read(a[i]);
read(x);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin t:=a[i];a[i]:=a[j];a[j]:=t;end;
for i:=1 to n do
if x<=a[i] then begin write(i);exit;end;
end.
在Pascal中测试正确,到了网站系统去提交却是时间超限
求破来吧
2014年12月17日 03点12分
1
兔子小白是位数学爱好者,有一次它参加了兔界里的数学比赛,成绩公布后,小白很想知道自己的成绩到底排第几,现在请你帮它编一个程序,要求输入一个成绩,就能知道相应的名次。注意:同分的按相同名次算,且只算一次。
输入
输入共三行。
第一行:一个整数n(n<=30000)
第二行:n个正整数(这些数不大于1000)。
第三行:一个整数,需要查询的分数。
输出
输出共一行。
一个整数,查询成绩的名次。
样例输入730 50 80 60 20 50 6050
样例输出3
以下是我的代码
var n,i,j,x,t:longint;a:array[1..30000] of integer;
begin
read(n);
for i:=1 to n do read(a[i]);
read(x);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin t:=a[i];a[i]:=a[j];a[j]:=t;end;
for i:=1 to n do
if x<=a[i] then begin write(i);exit;end;
end.
在Pascal中测试正确,到了网站系统去提交却是时间超限
求破来吧