Buongiorno, sto avendo difficoltà a far rimanere nei limiti di tempo il seguente algoritmo…
Dato che i numeri in “T” superano anche 10^8 il ciclo while fa tantissimi giri, un aiuto? grazie
CODICE:
A, B, T = map(int, input().strip().split())
min = T
for i in range(24):
c = 0
x = 0
y = i
while x < T:
if y >= A and y < B:
c+=1
x+=1
y+=1
if y >= 24:
y = A
x += A
if c < min: min = c
print(min)
Immagino il tuo approccio sia corretto ma è troppo inefficiente. Prova a pensare se quello che calcoli lo puoi trovare con un qualche tipo di formula visto che tutti i giorni si ripetono informazioni simili. Btw per essere espliciti c’è una formula che risolve tutto senza bisogno di cicli.
Beh qua la risposta è la trovi tu con carta e penna perché è una formuletta matematica. In generale più che “formule” può essere utile conoscere “algoritmi” per risolvere cose, e li puoi trovare spiegati online.
Comunque, qua puoi usare l’informazione che la gara sia tutti i giorni alla stessa ora e così al posto di fare dei cicli moltiplichi. Un’altra cosa che ti può interessare è capire a quale ora iniziare, ovviamente puoi farti il calcolo ipotizzando di partire a mezzanotte, poi a l’una, poi alle 2 ecc che tanto sono solo 24 ore possibile, ma facendoti degli esempi su carta noti per caso qualche cosa sull’ora di inizio migliore?
mi piace il modo in cui mi hai posto la cosa dandomi un indizio importante, grazie mille cercherò di capire dove sta questa cosa che mi stava sfuggendo
comunque ho capito il modo per trovare l’orario d’inizio, non ci avevo pensato, grazie. Tuttavia non riesco lo stesso a fare 100 punti, probabilmente è dovuto ad errori strani in passaggi a cui ho dato poca attenzione
Grazie mille, mi hai dato proprio quello che cercavo, un indizio utile e che comunque non ti risolve il problema se non ci pensi un attimo su, adesso riesco ad arrivare al fatidico 100/100 e cosa più importante ora penserò a più soluzioni possibili e avrò più punti di vista sui problemi a venire.
Ahh sei dynamicJova, si poteva intuire ahahah, 3 delle tante comunque riguardo al messaggio di prima probabilmente avrai sbagliato la formula in qualche punto, per non parlare che mi sembra che i dati vadano anche messi a long long