#include #include #include using namespace std; int main (int argc, const char * argv[]) { long n; scanf("%ld",&n); for (long i = 0; i vstup1, vstup2; vstup1.reserve(rozmer); vstup2.reserve(rozmer); for (long i =0; i < rozmer; i++) { scanf("%ld",&vstup1[i]); } for (long i =0; i < rozmer; i++) { scanf("%ld",&vstup2[i]); } vector map; map.reserve(rozmer*rozmer); vector map2; map2.reserve(rozmer*rozmer); long soucetproMaximum = 0; for (long i =0; i < rozmer; i++) { for (long j =0; j < rozmer; j++) { if (vstup1[i]<=vstup2[j]) { map[i*rozmer + j] = vstup1[i]; map2[i*rozmer + j] = vstup1[i]; soucetproMaximum += vstup1[i]; } else { map[i*rozmer + j] = 0; soucetproMaximum += vstup2[j]; map2[i*rozmer + j] = vstup2[j]; } } } long soucetMaxim = 0; for (long i =0; i < rozmer; i++) { long max = 0; for (long j =0; j < rozmer; j++) { if (map[j*rozmer + i] > max) max = map[j*rozmer + i]; } soucetMaxim += max; } printf("Minimalni budova obsahuje %ld kostek, maximalni %ld kostek.\n", soucetMaxim, soucetproMaximum); } return 0; }