Can you summarize the following document?
        
  在兩天的比賽日中,一般來說參賽選手每一天都需要在5小時內一臺計算機的幫助下獨立解決3道題目。比賽中不允許任何形式的交流或是查閱參考資料。通常,參賽選手都要為每一道題目編寫一個程式(程式語言為C、C++或是Pascal)並在比賽結束之前提交。隨後大賽的主辦方將採用若干組測試資料對程式進行測試。這些測試資料被分作若干個子任務,選手只有通過某個子任務中所有的測試點才能獲得對應的分數。如果根據給定的某一組輸入資料,程式可以在限定的記憶體空間和時間內正確的得到輸出結果,那麼該名選手即獲得這一組資料的相應分數。近年出現了一種新的比賽題型,提交答案題——在比賽開始之間參賽選手將獲得各組測試資料,他們要提交的是相應的計算結果,而非程式本身。選手可以通過編寫程式、手工計算或者兩者結合來完成這類題目。另一種新題型是互動題,它要求選手編寫的程式與測試系統進行互動(一般是通過呼叫題目給出的互動器),選手將通過詢問或操作來試圖求解問題。  每名參賽選手的各題得分之和即為總得分。在頒獎儀式上,參賽選手將根據他們的得分獲得相應的獎項。排名前50%的參賽選手(平均每個國家2名)將獲得獎牌。獲得金、銀、銅牌和未獲獎牌人數之比約為1:2:3:6。  與其他學科的奧林匹克競賽不同,國際資訊學奧林匹克競賽章程嚴格禁止對參賽國家的排名但是每場比賽之後仍然會有不少非官方的排名出現。

  這是一份歷屆最優秀得獎者的名單。*號代表滿分,這在國際資訊學奧林匹克中是十分罕見的。另外,金獎中的第一名,第二名和第三名也有標示。 這份名單隻包含那些容許選拔後的國家隊成員多次參與國際資訊學奧林匹克的國家。
國際資訊學奧林匹克競賽(International Olympiad in Informatics,IOI),是面向中學生一年一度的資訊學科競賽。第一屆國際資訊學奧林匹克競賽於1989年在保加利亞的布拉維茨舉行。