Пытаюсь решить задачу http://acm.timus.ru/problem.aspx?space=1&num=1005 Подскажите, пожалуйста, в чем ошибка? Code: program Stones; {$APPTYPE CONSOLE} uses SysUtils; var N: Byte; W: array[1..20] of Integer; I, J: Byte; A, B: Int64; Max: Byte; Temp: Integer; begin ReadLn(N); for I := 1 to N do Read(W[I]); for I := 1 to N - 1 do begin Max := I; for J := I + 1 to N do begin if W[Max] < W[J] then Max := J; end; Temp := W[Max]; W[Max] := W[I]; W[I] := Temp; end; A := W[1]; B := 0; for I := 2 to N do begin if A < B then A := A + W[I] else B := B + W[I]; end; Write(Abs(A-B)); end.
ты криво упорядочиваешь массив по убыванию это не надо begin Max := I; .. begin Max := J; оставляешь так for i:=1 to n-1 do for j:=i+1 to n do if a<a[j] then begin temp:=a; a:=a[j]; a[j]:=temp; в конце так же ошибки надо так raz:=0; for i:=1 to n do if raz>0 then raz:=raz - a else raz:=raz+a; исправляй.
Чем я массив то не правильно упорядочиваю? Мой способ должен работать быстрее, т.к. не делаю лишних перемещений. Второе замечание фактически тоже самое, что и у меня, но оптимальнее за счет второй переменной. Проверил твой вариант, ошибка на том же самом тесте, что и у меня была изначально. Вот код Code: var N: Byte; W: array[1..20] of Integer; I, J: Byte; A: Int64; Temp: Integer; begin ReadLn(N); for I := 1 to N do Read(W[I]); for i:=1 to n-1 do begin for j:=i+1 to n do begin if w[i]<w[j] then begin temp:=w[i]; w[i]:=w[j]; w[j]:=temp; end; end; end; A := 0; for I := 1 to N do begin if A > 0 then A := A - W[I] else A := A + W[I]; end; Write(Abs(A)); end.
Вот так верно. Code: program Project2; {$APPTYPE CONSOLE} var a:array[1..100] of longint; i,j,n,raz:byte; temp:longint; begin readln(n); for i:=1 to n do read(a[i]); readln; for i:=1 to n-1 do for j:=i+1 to n do if a[i]<a[j] then begin temp:=a[i]; a[i]:=a[j]; a[j]:=temp; end; raz:=0; for i:=1 to n do if raz>0 then raz:=raz - a[i] else raz:=raz+a[i]; writeln(abs(raz)); readln; end.
Все равно ошибка, причем на первом тесте. В моем варианте только на 5 ошибка. Естественно в выводе убрал 'otvet'.
Да не сколько я не вводил) Там система автопроверки на этом сайте. Я не знаю и мой вариант на чем валится.
тю,так я не понял тебе надо проверку пройти или что?ты хотя бы скомпилируй и введи данные,все там работает...
Да в моем варианте я тоже ошибок не вижу в ручную))) Мне проверку надо пройти, но для себя. Просто интересно найти косяки. Одногруппники смотрели, ошибку не нашли. JudgeId: 108594GZ