program zad1;
var
A,B: array [1..100] of integer;
i,j, par,N : integer;
input, output: Text;
begin
Assign (input,'input.txt');
Reset (input);
readln (input,N);//
for I:=1 to N do // запись данных в масив
readln (input,A[i],B[i]);
for I:=1 to N-1 do // сортировка за убыванием
for j:=i+1 to N do
if A[i]< A[j] then
begin
par:=A[j];
A[j]:=A[i];
A[i]:=par;
end;
for I:=1 to N-1 do // сортировка за убыванием
for j:=i+1 to N do
if B[i]< B[j] then
begin
par:=B[j];
B[j]:=B[i];
B[i]:=par;
end;
Assign (output,'output.txt');
Rewrite (output);
Write (output,A[1],' ',B[1],' ',A[N],' ',B[N]);
Close(input);
Close(output);
end.
2. Олімпіада
В І турі Інтернет
- олімпіади з програмування n учнів всі задачі
розв’язали вірно, але час виконання завдань у них усіх був різний: Х1, Х2, Х3…Хn, (Хі – натуральне
число, час виконання роботи і – тим
учасником, n <20 ). Як виявилося, у тих, хто
впорався з завданням швидше, і розв’язок завдань був ефективнішим. Завдання
можна було розв’язувати протягом двох днів.
Завдання. Журі олімпіади
необхідно вибрати чотирьох програмістів з кращими результатами для участі у ІІ
турі олімпіади, при цьому також необхідно вказати номера, під якими вони брали
участь в олімпіаді.
Формат вхідних даних. У файлі input.txt у першому рядку - кількість учнів, які все виконали, у n інших рядках - результати: Х1, Х2, Х3…Хn
Формат вихідних даних. : У файлі output.txt 4 рядка, кожний містить по два числа через пробіл: перше
число в рядку – один з
кращих результатів, друге число – номер учасника олімпіади, який має цей
результат.
program zad2;
var
A,B: array [1..100] of integer;
i,j, par,N,par_i : integer;
input, output: Text;
begin
Assign (input,'input.txt');
Reset (input);
read (input,N);//
for I:=1 to N do // запись данных в масив
begin
read (input,A[i]);
B[i]:=i;
end;
for I:=1 to N-1 do // сортировка за
for j:=i+1 to N do
if A[i]> A[j] then
begin
par:=A[j];
A[j]:=A[i];
A[i]:=par;
Par_i:=B[j];
B[j]:=B[i];
B[i]:=par_i;
end;
Assign (output,'output.txt');
Rewrite (output);
for I:=1 to 4 do // вывод отсортированых данных
Writeln (output,A[i],' ',B[i]);
Close(input);
Close(output);
end.
«Клякса»
program pryam1;
var xm,ym, xMax,yMax: longint;
x,y:array[1..100] of
longint;
n,i:byte;
begin
assign(Input,'Input.txt');
reset(Input);
readln(n);
For i:=1 to n do
readln(x[i],y[i]);
xMax:= x[1];
yMax:= y[1];
xm:= x[1];
ym:= y[1];
For i:=1 to n do
begin
if (x[i]>xMax) then
xMax:=x[i];
if (x[i]<xm) then
xm:=x[i];
if (y[i]>yMax) then
yMax:=y[i];
if (y[i]<ym) then
ym:=y[i];
end;
close(Input);
assign(Output,'Output.txt');
rewrite(Output);
writeln(xMax,'
',yMax,' ',xm,' ',ym);
close(Output);
end.
Задача №2
Олімпіада
program olimp;
var x: array[1..100] of integer;
a,b:array[1..4] of integer;
i,p,j,k,amax,c,d,n:integer;
begin
assign(input,'input.txt');
assign(output,'output.txt');
reset(input);
rewrite(output);
readln(n);
for i:=1 to n do
readln(x[i]);
for i:=1 to 4 do
begin
a[i]:=x[i];
b[i]:=i;
end;
begin
for p:=5 to n do
begin
amax:=a[1];
k:=1;
for j:=2 to 4 do
if (a[j]>amax)
then
begin
amax:=a[j];
k:=j;
end;
if (x[p]<amax)
then
begin
a[k]:=x[p];
b[k]:=p;
end;
end;
end;
begin
for i:=1 to 3 do
if (a[i]>=a[i+1])
then
begin
c:=a[i];
a[i]:=a[i+1];
a[i+1]:=c;
d:=b[i];
b[i]:=b[i+1];
b[i+1]:=d;
end;
end;
begin
for i:=1 to 4 do
writeln('a[i]=',a[i],'
','b[i]=',b[i],' ');
end;
close(input);
close(output);
end.
Задача №3
Рекорд
var b:array[1..100]
of real;
a:
array[1..100] of integer;
Z,V,C,s,z1,c1:real;
i,j,n,m,L:integer;
up:boolean;
begin
assign(input,'input.txt');
assign(output,'output.txt');
reset(input);
rewrite(output);
readln(n);
up:=true;
for i:=1 to
n-1 do readln(b[i]);
readln(Z);
readln(V);
read(C);
s:=0;
L:=0;
for i:=1 to
n-1 do s:=s+b[i];
z1:=s/V;
if (z1>T)
then writeln ('rekorda net')
else
begin
c1:=0;
m:=0;
i:=1;
while
(i<n-1) and (z1<Z) and up do
if (b[i]/10<=K) then
begin
if (c1<
b[i]/10) then
begin
z1:=z1+1/6;
c1:=C;
L:=L+1;
b[L]:=i;
end
else
c1:=c1-b[i]/10;
i:=i+1;
end
else
begin
up:=false;
m:=m+1;
if (m>0) then
writeln('ne doedit');
readln;
close(input);
close(output);
exit;
end;
if (z1<=Z) then
writeln('rekord est')
else
writeln('rekorda net');
end;
close(input);
close(output);
end.
Немає коментарів:
Дописати коментар