Не могли бы вы рассказать мне, как оптимизировать мой код
вопросы. ссылка
https://www.codechef.com/LTIME64B/problems/JDELAY[^]
#include<bits/stdc++.h> using namespace std; int main (void){ int t,n,input1,input2,count=0; cin>>t; for(int i=0;i<t;t++){ cin>>n; for(int j=0;j<n;j++){ cin>>input1; cin>>input2; if((input2-input1)>5) count++; } cout<<count; } }
Что я уже пробовал:
перепробовал много подходов но так и не смог опуститься ниже отметки в 1сек времени компиляции
CHill60
Конечно же это 1 секунда бежать ограничение по времени не компиляция?
Dave Kreskowiak
Если у вас есть петля внутри другой петли в этих задачах, шансы действительно велики, вы подходите к проблеме совершенно неправильно.
Нет никакой оптимизации, которая заставила бы этот код работать в отведенное время. Единственный способ сделать код быстрее-это отказаться от того, что у вас есть, вернуться к переосмыслению проблемы и решения и придумать совершенно новый код.
jeron1
Вы уверены, что это ограничение по времени компиляции, а не по времени выполнения, как спрашивал CHill60?
Если это ограничение по времени выполнения, то как быстро вы можете печатать? Вы получаете ввод с клавиатуры каждый цикл, получение данных из файла будет быстрее.
Не уверен, что находится в <bits/stdc++.h>, Но все, что вам нужно, это <iostream> Я верю.
KarstenK
Компиляция занимает некоторое время, вы можете улучшить ее с помощью более быстрого ПК. Вам лучше написать более красивую программу, с большим количеством выходных данных или более чистой структурой кода.