這題記憶體只給16MB
你用的 #include <bits/stdc++.h> 會爆炸
請改成 #include <stdio.h>
I/O用這個標頭檔內的 scanf()、printf()
以上OuOb
可是我照著上面改了之後:
為甚麼後兩個RE,第一個沒有?
然後我又試了兩種更改方法:
1.首先,我懷疑會RE的原因是因為系統在讀取arr的時候超出上限,所以我把arr陣列擴大(成2000000),結果
2.看樣子是不太行,而我發現好像沒有必要使用long long int,因為arr陣列也沒有那麼大,所以把long long 改成int、陣列改回原樣(1000000)
3.我再試了另一個:long long ->int 以及 arr 1000000 -> 2000000
我不太理解abort的那個錯誤是甚麼意思,以及為甚麼改成int會造成那樣的錯誤。
也不太理解下兩個測資RE的原因。
還請各位解釋,謝謝。
可是我照著上面改了之後:
然後我又試了兩種更改方法:
1.首先,我懷疑會RE的原因是因為系統在讀取arr的時候超出上限,所以我把arr陣列擴大(成2000000),結果
2.看樣子是不太行,而我發現好像沒有必要使用long long int,因為arr陣列也沒有那麼大,所以把long long 改成int、陣列改回原樣(1000000)
3.我再試了另一個:long long ->int 以及 arr 1000000 -> 2000000
我不太理解abort的那個錯誤是甚麼意思,以及為甚麼改成int會造成那樣的錯誤。
也不太理解下兩個測資RE的原因。
還請各位解釋,謝謝。
抱歉,發現abort是因為改成int時忘記將printf改成%d
但還是不知道RE的問題。
抱歉,發現abort是因為改成int時忘記將printf改成%d
但還是不知道RE的問題。
RE 估計還是記憶體造成的
像這種記憶體給很少的題目
不需要壓到很極限
就有可能出狀況@@