いきなりですが「Atcoderやってますかぁ~」(アントニオ猪木風)
昨日、ABC294(AtCoder Beginner Contest 294)にチャレンジしたのですが、4問目の内容は理解できて、プログラムまで大体作成できた(実際には少々読み間違えがあったのも事実)のですが、タイムオーバー(TLE)になってしまい、最後までたどり着くことができませんでした。
私が使っているプログラム言語はPythonです。
C++のクラスを勉強した時に挫折した私としては救世主に近い。生まれ変わってもPythonに出会いたいと思っているほどだ。しかし、実行速度が遅い。Pythonのせいにしたくはないが、今回のTLEはPythonの実行速度が関係しているのではないかと思っている。
恥ずかしながら、私が作成したプログラムを公開する
n , q = map(int,input().split()) call = 1 uke = set() e1 = e2 = 0 for i in range(q): e = input() if e[0] == "1": uke.add(call) call += 1 if e[0] == "2": e1 , e2 = map(int,e.split()) uke.remove(e2) if e[0] == "3": print(min(uke))
(このプログラムはこのリンクを辿っても見ることができる)
まず、このプログラムは正しいと仮定しよう。
読み込みデータは25コ、Pythonで実行した時は7つにTLEがでて、PyPy3で実行した時は2つにTLEが出てしまいました。
きっと、もうひとひねり、ふたひねりが必要なのでしょうが、オレには見当たらない😢
もう少し、がんばってみます。 ただの愚痴でした。
※コメント投稿者のブログIDはブログ作成者のみに通知されます