ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Общий форум

Why my program is "Memory Limit exceed",I think i just use no more than 200K?
Послано Cain 8 июн 2001 19:57
const
  maxN = 30000;
  interval = 600;

var
  block : array[0..maxn]of longint;
  i,time,no : longint;
  v : integer;
  s,_s : string;

begin
  while not eof do begin
    readln(s);
    if pos('+',s)>0 then begin
      delete(s,pos('+',s),1);
      while s[length(s)]=' ' do delete(s,length(s),1);
      val(s,time,v);
      for i:=1 to maxn do
        if (block[i]=0)or(time-block[i]>=600) then break;
      block[i]:=time;
      writeln(i);
    end else begin
      i:=pos('.',s);
      _s:=copy(s,1,i-1);
      delete(s,1,i);
      while s[length(s)]=' ' do delete(s,length(s),1);
      while _s[length(_s)]=' ' do delete(_s,length(_s),1);
      val(_s,time,v);
      val(s,no,v);
      if (time-block[no]>=600)or(block[no]=0) then writeln
('-')
      else begin
        block[no]:=time;
        writeln('+');
      end;
    end;
  end;
end.