Submission #394574

#TimeUsernameProblemLanguageResultExecution timeMemory
394574rainboy저울 (IOI15_scales)C11
56.42 / 100
1 ms208 KiB
#include "scales.h"
 
void init(int T) {}
 
void orderCoins() {
	static int aa[3], bb[3], cc[6];
	int i, j, k, tmp;
 
	aa[0] = getLightest(1, 2, 3), aa[1] = getMedian(1, 2, 3), aa[2] = aa[0] ^ aa[1];
	bb[0] = getLightest(4, 5, 6), bb[1] = getMedian(4, 5, 6), bb[2] = bb[0] ^ bb[1] ^ 7;
	i = 0, j = 0, k = 0;
	while (i < 3 && j < 3)
		if (i == 2 && j == 2)
			cc[k++] = getMedian(cc[0], aa[i], bb[j]) == aa[i] ? aa[i++] : bb[j++];
		else if (i < j) {
			int x = getMedian(aa[i], aa[i + 1], bb[j]);

			if (x == aa[i])
				cc[k++] = bb[j], j++;
			else if (x == bb[j])
				cc[k++] = aa[i], cc[k++] = bb[j], i++, j++;
			else
				cc[k++] = aa[i], cc[k++] = aa[i + 1], i += 2;
		} else {
			int x = getMedian(bb[j], bb[j + 1], aa[i]);

			if (x == bb[j])
				cc[k++] = aa[i], i++;
			else if (x == aa[i])
				cc[k++] = bb[j], cc[k++] = aa[i], j++, i++;
			else
				cc[k++] = bb[j], cc[k++] = bb[j + 1], j += 2;
		}
	while (i < 3)
		cc[k++] = aa[i++];
	while (j < 3)
		cc[k++] = bb[j++];
	answer(cc);
}

Compilation message (stderr)

scales.c: In function 'init':
scales.c:3:15: warning: unused parameter 'T' [-Wunused-parameter]
    3 | void init(int T) {}
      |           ~~~~^
scales.c: In function 'orderCoins':
scales.c:7:15: warning: unused variable 'tmp' [-Wunused-variable]
    7 |  int i, j, k, tmp;
      |               ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...