Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: CL | DM;

Вниз

Оптимизация   Найти похожие ветки 

 
Сибулбо   (2004-02-07 21:35) [0]

Дан следующий код:
{1247}
var a:array[1..32000]of integer;
S,N,i,t,j,k:integer;
Sum:longint;
begin
Read(s);Read(n);
for i:=1 to S do readln(a[i]);
t:=s;
for j:=1 to S do
begin
Sum:=0;
for k:=j to s do
begin
Sum:=Sum+a[k];
if Sum>(k-j+1)+n Then
BEGIN
Writeln("NO");
Halt;
END;
end;
end;
Writeln("YES");
end.


Помошите его оптимизировать. За ранее спасибо


 
Gero ©   (2004-02-07 22:52) [1]

t не используется. А массив в таком случае лучше динамический использовать


 
Gero ©   (2004-02-07 23:06) [2]

Да, и j можно убрать, вместо нее подставить i..


 
aldor ©   (2004-02-07 23:17) [3]

Для начала расскажите, что вы пытаетесь сделать этим алгоритмом, тогда, возможно, что-то прояснится. Разбираться по такому коду никто не будет.


 
Uncle_Archi ©   (2004-02-08 01:01) [4]

Если не ошибаюсь:
http://acm.timus.ru/problem.aspx?space=1&num=1247
А насчёт задачки, подумаю. Тут должно быть другое решение... Ты используешь полный перебор, O(s^3), конечно за секунду не пройдёт.
Нуно подумать... Или в обсуждении почитать...


 
Сибулбо   (2004-02-08 10:56) [5]

Да эта задача с Тимуса :)


 
Сибулбо   (2004-02-08 14:03) [6]

Вариянтов нет?



Страницы: 1 вся ветка

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-94003
Альф
2004-02-16 16:25
2004.02.29
Про подсветку синтаксиса в Memo...


1-93909
Ilg
2004-02-08 14:31
2004.02.29
Handle главного окна


6-94059
Zvik
2003-12-25 18:19
2004.02.29
WinInet (InternetErrorDlg) Ошибка


6-94048
Jillyusus
2003-12-22 21:29
2004.02.29
Как передать сообщение?


8-94044
dream
2003-10-29 02:53
2004.02.29
Работа для 3D-художников