Помогите решить задачу по информатике точнее написать программу!

Помогите решить задачу по информатике точнее написать программу!
Гость
Ответ(ы) на вопрос:
Гость
Program Olimp4(input); Uses CRT; Var x,y:array [1..100] of integer; a,n,m,i,j,k,max,sum,msum:integer; Begin ClrScr; Assign(input,'input.txt');Reset(input); randomize; {Вввод данных из файла} readln(n); for i:=1 to n do read(x[i]); readln; readln(m); for j:=1 to m do read(y[j]); for k:=1 to 10000 do begin sum:=0; i:=1; j:=1; {Пока сумма не отрицательна и кучки не закончились} while (sum>=0) and (i<=n) and (j<=m) do begin {Случайное число 0,1} a:=random(2); {Если 0, то выбор из первой кучки, если 1, - то из второй} if (a=0) then begin {Подсчет суммы} sum:=sum+x[i]; i:=i+1; end else begin {Подсчет суммы} sum:=sum+y[j]; j:=j+1; end; {Максимальная сумма} if sum>msum then msum:=sum; end; {Закончилась вторая кучка, продолжаем брать из первой} if i<=n then begin while i<=n do begin {Подсчет суммы} sum:=sum+x[i]; {Если сумма отрицательна, то выход из цикла} if sum<0 then i:=n+2; {Максимальная сумма} if sum>msum then msum:=sum; inc(i); end;
Гость
Program Olimp4(input);  Uses CRT;  Var x,y:array [1..100] of integer;  a,n,m,i,j,k,max,sum,msum:integer;  Begin  ClrScr;  Assign(input,'input.txt');Reset(input);  randomize;  {Вввод данных из файла}  readln(n);  for i:=1 to n do read(x[i]);  readln;  readln(m);  for j:=1 to m do read(y[j]);  for k:=1 to 10000 do begin  sum:=0; i:=1; j:=1;  {Пока сумма не отрицательна и кучки не закончились}  while (sum>=0) and (i<=n) and (j<=m) do  begin  {Случайное число 0,1}  a:=random(2);  {Если 0, то выбор из первой кучки, если 1, - то из второй}  if (a=0) then begin  {Подсчет суммы}  sum:=sum+x[i];  i:=i+1;  end  else begin  {Подсчет суммы}  sum:=sum+y[j];  j:=j+1;  end;  {Максимальная сумма}  if sum>msum then msum:=sum;  end;  {Закончилась вторая кучка, продолжаем брать из первой}  if i<=n then begin  while i<=n do begin  {Подсчет суммы}  sum:=sum+x[i];  {Если сумма отрицательна, то выход из цикла}  if sum<0 then i:=n+2;  {Максимальная сумма}  if sum>msum then msum:=sum;  inc(i);  end;
Не нашли ответ?
Ответить на вопрос
Похожие вопросы