#include using namespace std; struct T { int ID,ch,en,ma; }; bool cmp(T a,T b) { if(a.ch+a.en+a.ma>b.ch+b.en+b.ma) return 1; if(a.ch+a.en+a.mab.ch) return 1; if(a.ch void fsort(T_fsort *left,T_fsort *right,bool (*cmp)(T_fsort a,T_fsort b),T_fsort *k) { if(right-left<=1) return; unsigned int len=right-left; fsort(left,left+len/2,cmp,k); fsort(left+len/2,right,cmp,k+len/2); int i=0,j=len/2,n=0; while(i