ICPC Reytinqi
Sizin bu məsələdəki vəzifəniz, ICPC (Beynəlxalq Kollektiv Proqramlaşdırma Müsabiqəsi) təqdimat jurnalına əsasən komandaların sıralamasını müəyyən edən bir proqram yazmaqdır.
Jurnal, təqdimatların təqdimat sırasına görə qeydlər ardıcıllığıdır. Hər bir qeyd dörd sahədən ibarətdir: keçən vaxt, komanda nömrəsi, problem nömrəsi və qiymətləndirmə. Keçən vaxt, müsabiqənin başlanğıcından təqdimata qədər keçən vaxtı göstərir. Qiymətləndirmə sahəsi isə təqdim olunan proqramın düzgün və ya səhv olduğunu və səhv olduqda hansı növ səhvin tapıldığını bildirir.
Komanda sıralaması aşağıdakı qaydalara əsasən müəyyən edilir. Qeyd edək ki, burada göstərilən qaydalar real ICPC Dünya Finalı və Regional yarışlarında istifadə olunan qaydalardır, bəzi ətraflı qaydalar sadələşdirmə üçün buraxılmışdır.
Daha çox problemi həll edən komandalar daha yüksək sıralanır.
Eyni sayda problem həll edən komandalar arasında, daha az ümumi sərf olunan vaxta malik olanlar daha yüksək sıralanır.
Əgər iki və ya daha çox komanda eyni sayda problem həll edibsə və onların ümumi sərf olunan vaxtları eynidirsə, onlar eyni sıralanır.
Ümumi sərf olunan vaxt, həll olunan hər bir problem üçün sərf olunan vaxtların cəmidir. Həll olunan problem üçün sərf olunan vaxt, qəbul edilmiş təqdimatın keçən vaxtı və həmin problem üçün əvvəlki hər bir rədd edilmiş təqdimat üçün 20 cəza dəqiqəsi əlavə edilməklə hesablanır.
Əgər bir komanda problemi həll etməyibsə, problem üçün sərf olunan vaxt sıfırdır və beləliklə, bir neçə səhv təqdimat olsa belə, heç bir cəza verilmir.
Bir komandanın bir problem üçün düzgün təqdimatdan sonra heç vaxt proqram təqdim etmədiyini qəbul edə bilərsiniz.
Giriş verilənləri
Giriş, hər biri aşağıdakı formatda olan ardıcıllıqla verilən məlumat dəstləridir. Son məlumat dəsti dörd sıfırdan ibarət bir sətirlə tamamlanır.
M T P R
m_1 t_1 p_1 j_1
m_2 t_2 p_2 j_2
.....
m_R t_R p_R j_R
Bir məlumat dəstinin ilk sətri dörd tam ədəd M, T, P və R ehtiva edir. M müsabiqənin müddətidir. T komandaların sayıdır. P problemlərin sayıdır. R təqdimat qeydlərinin sayıdır. Bu dəyərlər üçün 120 ≤ M ≤ 300, 1 ≤ T ≤ 50, 1 ≤ P ≤ 10 və 0 ≤ R ≤ 2000 əlaqələri mövcuddur. Hər bir komandaya 1 ilə T arasında komanda nömrəsi təyin edilir. Hər bir problemə 1 ilə P arasında problem nömrəsi təyin edilir.
Sonrakı R sətirin hər biri dörd tam ədəd m_k, t_k, p_k və j_k (1 ≤ k ≤ R) ehtiva edir. m_k keçən vaxtdır. t_k komanda nömrəsidir. p_k problem nömrəsidir. j_k qiymətləndirmədir (0 düzgün deməkdir, digər dəyərlər səhv deməkdir). Bu dəyərlər üçün 0 ≤ m_k ≤ M−1, 1 ≤ t_k ≤ T, 1 ≤ p_k ≤ P və 0 ≤ j_k ≤ 10 əlaqələri mövcuddur.
Keçən vaxt sahələri dəqiqəyə qədər yuvarlaqlaşdırılır.
Təqdimat qeydləri təqdimat sırasına görə verilir. Buna görə də, əgər i < j olarsa, i-ci təqdimat j-ci təqdimatdan əvvəl edilir (m_i ≤ m_j). Bəzi hallarda, iki komandanın sıralamasını bir dəqiqədən az fərqlə müəyyən edə bilərsiniz, bu faktı istifadə edərək. Lakin, belə bir fakt heç vaxt komanda sıralamasında istifadə edilmir. Komandalar yalnız dəqiqələrlə vaxt məlumatlarından istifadə edərək sıralanır.
Çıxış verilənləri
Hər bir məlumat dəsti üçün proqramınız komanda nömrələrini (1 ilə T arasında) çıxış etməlidir, daha yüksək sıralanan komandalar əvvəlcə. İki komanda nömrəsi arasında ayırıcı vergül olmalıdır. İki komanda eyni sıralandıqda, aralarındakı ayırıcı bərabərlik işarəsi olmalıdır. Eyni sıralanan komandalar komanda nömrələrinin azalan sırasına görə siyahıya alınmalıdır.