problem sys spoj0

17 views
Skip to first unread message

Ivaylo Strandjev

unread,
Feb 15, 2014, 5:44:10 AM2/15/14
to Milo, espr1t, cs-cl...@googlegroups.com
Здравейте,
днес забелязах проблем със spoj0 - почна да report-ва всички time limit-и като runtime error. Валидирах че това се случва дори и за стари задачи например на "Hello world", ако пусна безкраен цикъл. Порових се малко и установих че exit code-a който получаваме в случай на time limit е 31744, докато в кода на spoj0-grade.pl има следното:

              my $exit = System $megarun;
               warn $exit;
               if($exit == 35072){
                       #killed - timeout
                       $status = 'tl1';
               }

Промених кода на следното:


              my $exit = System $megarun;
               warn $exit;
               if($exit == 35072 || $exit == 31744) {
                       #killed - timeout
                       $status = 'tl1';
               }

И като че ли грейдъра да работи правилно. Не съм сигурен какво точно прави промяната ми и затова ми се иска някой, който разбира повечко да потвърди че това, което съм направил е правилно(Мило?). Според мен този проблем се дължи на някакъв upgrade или промяна на системата на spoj0.

Поздрави,
Иво

Milo Sredkov

unread,
Feb 15, 2014, 5:48:10 AM2/15/14
to Ivaylo Strandjev, Alexander Georgiev, cs-cl...@googlegroups.com

Здрасти,
Exit кодовете са съставни от битове на няколко неща, и е бъг, че се сравняват с ==. Ще го погледна след малко.

Мило

Milo Sredkov

unread,
Feb 16, 2014, 12:52:31 PM2/16/14
to Ivaylo Strandjev, Alexander Georgiev, cs-cl...@googlegroups.com
Направих го на:
if($exit == 35072 || $exit >> 8 == 124){
както преди време съм го направил на spoj0 (не помня точно защо съм стигнал до този магически израз). Ако забележиш нещо странно, пиши :)
Reply all
Reply to author
Forward
0 new messages