const fin = 'chon.inp'; fon = 'chon.out'; maxn = 1000005; type hs = record stt:longint; ten:string; toan,tin:longint; end; var a:array[0..maxn] of hs; n:longint; procedure nhap; var x,i:longint; begin readln(n); for i:=1 to n do begin readln(a[i].ten); readln(a[i].toan,a[i].tin); a[i].stt:=i; end; end; function ss(x,y:hs):boolean; begin if (x.toan+x.tin)>(y.toan+y.tin) then exit(true); if (x.toan+x.tin)<(y.toan+y.tin) then exit(false); if x.tin>y.tin then exit(true); if x.tin<y.tin then exit(false); if x.stt>y.stt then exit(false); if x.stt<y.stt then exit(true); exit(true); end; procedure qs(l,h:longint); var x,t:hs; i,j:longint; begin x:=a[(l+h) div 2]; i:=l;j:=h; repeat while ss(a[i],x)=true do inc(i); while ss(x,a[j])=true do dec(j); if i<=j then begin t:=a[i];a[i]:=a[j];a[j]:=t; inc(i);dec(j); end; until i>j; if L<j then qs(L,j); if i<H then qs(i,H); end; procedure cach1; begin qs(1,n); writeln(a[1].stt); writeln(a[1].ten); writeln(a[2].stt); writeln(a[2].ten); writeln(a[3].stt); writeln(a[3].ten); end; procedure cach2; var i,max1,max2,max3:longint; begin a[0].stt:=maxn;a[0].toan:=0;a[0].tin:=0; max1:=0;max2:=0;max3:=0; for i:=1 to n do if ss(a[i],a[max1])=true then begin max3:=max2; max2:=max1; max1:=i; end else if ss(a[i],a[max2])=true then begin max3:=max2; max2:=i; end else if ss(a[i],a[max3])=true then max3:=i; writeln(a[max1].stt); writeln(a[max1].ten); writeln(a[max2].stt); writeln(a[max2].ten); writeln(a[max3].stt); writeln(a[max3].ten); end; begin assign(input,fin);reset(input); assign(output,fon);rewrite(output); nhap; cach1; //sort va tim 3 phan tu dau tien //cach2; //duyet va tim 3 phan tu lon nhat close(input);close(output); end.
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Năm, 16 tháng 6, 2022
chon pascal (2 cách)
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.