Дистанционная подготовка: Как можно превысить максимальное время работы без зацикливания?
Как можно превысить максимальное время работы без зацикливания?
от Максим Шишкин - Четверг 15 Май 2014, 13:42
333. Четные числа
  Решил задачу №333. Четные числа минуты за две. Посылаю и опа превышено максимальное время работы в одном из тестов. Ну думаю зацикливание. Исключил его if. Теперь в мою программу можно пихать любые числа все равно результат будет нужный. Но это не помогло. Сделал сначала проверку на четность потом все остальное. Реакции 0. Как заставить такую прогу долго выдавать результат я не знаю.
Re: Как можно превысить максимальное время работы без зацикливания?
от Максим Шишкин - Четверг 15 Май 2014, 13:48
  Вот прога    
    import java.util.Scanner;
public class prosto {
  public static void main (String args[]){
        long i,a,b,sub; 
          Scanner scan = new Scanner(System.in);
            a = scan.nextInt();
            b = scan.nextInt();       
            if(b<0){
              if(a>b){ sub=a;a=b;b=sub;};
              if(a%2!=0){a=a+1;};
              for(i=a;i<=b;i=i+2){             
                  System.out.print(i+" ");
              }     
            }else{
              if(a>b){ sub=a;a=b;b=sub;};
              if(a%2!=0){a=a+1;};
                for(i=a;i<=b;i=i+2){           
                    System.out.print(i+" ");
                }
                }         
          }
      }
Re: Как можно превысить максимальное время работы без зацикливания?
от Григорий Резников - Четверг 15 Май 2014, 18:10
  Думаю, тут виновата тормознутость Java при выводе большого количества данных.

Чтобы этого избежать, попробуйте сделать так http://informatics.mccme.ru/mod/resource/view.php?id=210

P.S Там внизу сравнение по времени Scanner и StreamTokenizer, подтверждающий вышесказанное.
Re: Как можно превысить максимальное время работы без зацикливания?
от Георгий Кинёв - Понедельник 9 Апрель 2018, 12:50
  А как можно сделать это же на Паскале?
У меня та же ерунда с "превышением лимита времени"
8-[