|
@@ -13,6 +13,7 @@ struct rect {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
#define BL_MIN(v1, v2) ((((v1) >= (v2)) * (v2)) + (((v1) < (v2)) * (v1)))
|
|
#define BL_MIN(v1, v2) ((((v1) >= (v2)) * (v2)) + (((v1) < (v2)) * (v1)))
|
|
|
|
|
+#define BL_MAX(v1, v2) ((((v1) >= (v2)) * (v1)) + (((v1) < (v2)) * (v2)))
|
|
|
|
|
|
|
|
int
|
|
int
|
|
|
main(int argc, char *argv[])
|
|
main(int argc, char *argv[])
|
|
@@ -80,6 +81,17 @@ main(int argc, char *argv[])
|
|
|
res += (s1 * 2) + (s2 * 2) + (s3 * 2) + BL_MIN(s1, m1);
|
|
res += (s1 * 2) + (s2 * 2) + (s3 * 2) + BL_MIN(s1, m1);
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ long m1 = 0;
|
|
|
|
|
+ long m2 = 0;
|
|
|
|
|
+ long ma1 = 0;
|
|
|
|
|
+
|
|
|
|
|
+ for ( i = 0; i < rects_size; ++i ) {
|
|
|
|
|
+ r = rects[i];
|
|
|
|
|
+ m1 = BL_MIN(r.l, r.w);
|
|
|
|
|
+ ma1 = BL_MAX(r.l, r.w);
|
|
|
|
|
+ m2 = BL_MIN(r.h, ma1);
|
|
|
|
|
+ res += ((m1 + m1 + m2 + m2) + (r.l * r.w * r.h));
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
printf("Result: %ld\n", res);
|
|
printf("Result: %ld\n", res);
|