#include #include #include #include using namespace std; int N, K; int tried(const void* a, const void* b) { return *((int*)b) - *((int*)a); } int main() { scanf("%d\n", &N); for (;N>0;N--){ scanf("%d\n", &K); int vys[111], sir[111]; //polia vstupu for(int i=110; i>=0; i--) { //nulovanie vys[i] =sir[i] =0; } //nacitanie vys for(int i=0; i0) { while ( hlad == vys[a+1]) { a++; coutA++; } while (hlad == sir[b+1]){ b++; coutB++; } MIN += max(coutA,coutB)*hlad; hlad= max(vys[a+1], sir[b+1]); coutA =coutB =0; } /// pocitanie MAXIMA MAX =0; int i=0,j=0, hladane = max(vys[0], sir[0]); while(hladane >0) { while ( hladane == vys[i+1]) { i++; } while (hladane == sir[j+1]){ j++; } int hladane2 =hladane; hladane= max(vys[i+1], sir[j+1]); MAX += (i+1)*(j+1)*(hladane2-hladane); } //vypis printf("Minimalni budova obsahuje %ld kostek, maximalni %ld kostek.\n", MIN, MAX); } return 0; }