about summary refs log tree commit diff
path: root/NTU/editpic.c
diff options
context:
space:
mode:
authorRaphael McSinyx <vn.mcsinyx@gmail.com>2017-01-09 10:47:37 +0700
committerRaphael McSinyx <vn.mcsinyx@gmail.com>2017-01-09 10:47:37 +0700
commit318184dbda0658d8afae6dd3c13a0718382726a1 (patch)
tree5a62259a03200cd77823431994fe3479e5d7461f /NTU/editpic.c
parent15b38076cc08d89024864252e99e10fe6f597196 (diff)
downloadcp-318184dbda0658d8afae6dd3c13a0718382726a1.tar.gz
Add NTU/{pali2,editpic}.c and update README.md
Diffstat (limited to 'NTU/editpic.c')
-rw-r--r--NTU/editpic.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/NTU/editpic.c b/NTU/editpic.c
new file mode 100644
index 0000000..5e34d74
--- /dev/null
+++ b/NTU/editpic.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+
+const long long POW2[] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048,
+                          4096, 8192, 16384, 32768, 65536, 131072, 262144,
+                          524288, 1048576, 2097152, 4194304, 8388608, 16777216,
+                          33554432, 67108864, 134217728, 268435456, 536870912};
+
+int main()
+{
+	long long l, w, l0, w0, l1, w1;
+	char i;
+
+	scanf("%lld %lld", &l, &w);
+
+	for (i = 29; POW2[i] > l || POW2[i] * 4 > w * 5; i--);
+	l0 = POW2[i];
+	w0 = (l0 * 5 >= w * 4) ? w : l0 * 5 / 4;
+
+	for (i = 29; POW2[i] > w || POW2[i] * 4 > l * 5; i--);
+	w1 = POW2[i];
+	l1 = (w1 * 5 >= l * 4) ? l : w1 * 5 / 4;
+
+	l = l0 * w0 - l1 * w1;
+	if (l > 0 || !l && l0 > l1)
+		printf("%lld %lld\n", l0, w0);
+	else
+		printf("%lld %lld\n", l1, w1);
+
+	return 0;
+}