目的
最近趣味でAtcoderという競技プログラミングサイトで活動をしているのですが、 提出するコードの計算量をかなりざっくりと見積もってしまっていて、提出した結果、指定された実行時間を超えてしまいTLE(Time Limit Exceeded)になってしまうことが多いので、 どの程度の計算量であればTLEにならずに実行できるのか調査してみました
調べてみた
環境
言語: PyPy 実行時間制限: 2 sec メモリ制限: 1024 MB
10 ** 7回ループ回してみる
for _ in range(10 ** 7): a = 'a' N = int(input()) print(((N - 1) // 100) + 1)
10**7までは大丈夫そうですね、ただ487msかかっているので10**8ループだとTLEになりそうです
10 ** 8回ループにしてみる
for _ in range(10 ** 8): a = 'a' N = int(input()) print(((N - 1) // 100) + 1)
TLEになりました。今回ループ内で行っている処理がかなり簡単なものなので、どのような処理でも10**8以上のループはTLEになりそうです
結果
10 ** 7回のループまでならTLEにならずに実行できることが分かりました。 C問題などを解いていても体感10 ** 7くらいまでなら通るので、体感通りでした。