#include #include #define MaxKlad 1024 #define MaxDelka 0x7fffffff struct TPrvek { int dvojice,prvni,druha; }; int Klady[MaxKlad], n; struct TPrvek Halda[MaxKlad]; int compare(const void *a,const void *b) // Porovnávací fce pro {\I qsort} { return *(int *)a-*(int *)b; } void Zatrid(int co,int velikost) // Najde prvku ve vrcholu {\I co} { // správnou pozici v~haldě struct TPrvek x=Halda[co]; // o~velikosti {\I velikost} int i=2*co,j=co; while (iHalda[i+1].dvojice)) i++; if (x.dvojice<=Halda[i].dvojice) break; Halda[j]=Halda[i];j=i;i=2*j; } Halda[j]=x; } int main() { int i,posledni,carka; scanf("%d",&n); // Načte počet klád do $n$ for(i=0;i