pascal编程

pascal编程
2009余姚市小学组竞赛之三:小头速算 题目描述
小头是个聪明的孩子,但同时他也很馋嘴。这天,他又在对着一堆糖果发呆了。妈妈看见了很生气,于是她对小头说:“这里一共有n个糖果,每个糖果有一个价值c,如果你能算出这堆糖果中价值最大的糖果,加上价值第3大的糖果,加上价值第5大的糖果,……一直加到价值第n大的糖果,他们的价值和是多少,那么妈妈就把这堆糖果奖励给你。另外妈妈保证n是奇数且所有糖果的价值都不相等。”
原本这个问题对于小头来说只是小菜一碟,但是在美味的糖果面前,小头的智商瞬间降为负值,连1+1都变成了绝世难题。于是好心的你决定发挥雷锋精神,帮助小头算出答案。

输入格式
第一行一个正整数n,表示有n个糖果
接下来n行,每行一个正整数,表示糖果的价值

输出格式
一个正整数,表示要求的价值和
样例输入
5
4
9
3
1
6

样例输出
14
数据规模
60%的数据,n≤1000
100%的数据,n≤100000,每个糖果的价值≤1000000

程序提示
var
v:array[1..100000] of longint;
sum:int64;
n:longint;
i,j,k,t:longint;
begin
readln(n);
for i:=1 to n do readln(v[i]);
for i:=1 to n-1 do begin
k:=i;
for j:=i+1 to n do if v[j]>桐轿枝帆吵v[k] then k:=j;
if k<>局敏i then begin
t:=v[i];
v[i]:=v[k];
v[k]:=t;
end;
end;

sum:=0;
i:=1;
repeat
sum:=sum+v[i];
i:=i+2;
until i>n;
writeln(sum);
end.
← 上一篇: 下一篇: →