제출 #131356

#제출 시각아이디문제언어결과실행 시간메모리
131356antimirage저울 (IOI15_scales)C++14
56.94 / 100
2 ms380 KiB
#include "scales.h" #include <bits/stdc++.h> #define pb push_back #define all(s) s.begin(), s.end() using namespace std; int in[7]; void init(int T) { srand(time(NULL)); vector <int> vec; for (int i = 1; i <= 6; i++) vec.pb(i); random_shuffle(all(vec)); for (int i = 1; i <= 6; i++) in[i] = vec[i - 1]; } void orderCoins() { int ans[6]; int res1[3] = {1, 2, 3}, res2[3] = {4, 5, 6}; res1[0] = getLightest(in[1], in[2], in[3]); res2[0] = getLightest(in[4], in[5], in[6]); res1[2] = getHeaviest(in[1], in[2], in[3]); res2[2] = getHeaviest(in[4], in[5], in[6]); for (int i = 1; i <= 3; i++) { if (res1[0] != in[i] && res1[2] != in[i]) { res1[1] = in[i]; } if (res2[0] != in[i + 3] && res2[2] != in[i + 3]) { res2[1] = in[i + 3]; } } int i = 0, j = 0; for (int k = 0; k < 6; k++) { if (i == 3) { ans[k] = res2[j++]; continue; } if (j == 3) { ans[k] = res1[i++]; continue; } if (i == 2 && j == 2) { ans[k + 1] = getHeaviest(res1[i], res2[j], ans[0]); if (ans[k + 1] == res1[i]) ans[k] = res2[j]; else ans[k] = res1[i]; answer(ans); return; } int m; if (i == 2) { m = getMedian(res1[i], res2[j], res2[j + 1]); if (res1[i] == m) { ans[k] = res2[j]; k++; j++; ans[k] = res1[i]; i++; } else if (res2[j] == m) { ans[k] = res1[i]; i++; } else { ans[k] = res2[j]; k++; j++; ans[k] = res2[j]; j++; } } else { m = getMedian(res1[i], res1[i + 1], res2[j]); if (res2[j] == m) { ans[k] = res1[i]; k++; i++; ans[k] = res2[j]; j++; } else if (res1[i] == m) { ans[k] = res2[j]; j++; } else { ans[k] = res1[i]; k++; i++; ans[k] = res1[i]; i++; } } } answer(ans); }

컴파일 시 표준 에러 (stderr) 메시지

scales.cpp: In function 'void init(int)':
scales.cpp:12:12: warning: conversion to 'unsigned int' from 'time_t {aka long int}' may alter its value [-Wconversion]
  srand(time(NULL));
        ~~~~^~~~~~
scales.cpp:11:15: warning: unused parameter 'T' [-Wunused-parameter]
 void init(int T) {
               ^
#Verdict Execution timeMemoryGrader output
Fetching results...