Submission #786637

#TimeUsernameProblemLanguageResultExecution timeMemory
786637esomerScales (IOI15_scales)C++17
0 / 100
1 ms288 KiB
#include<bits/stdc++.h>
#include "scales.h"

using namespace std;

typedef long long ll;

//~ void tle(int n){
	//~ ll ans = 0;
	//~ for(int i = 0; i < n; i++){
		//~ for(int j = 0; j < n; j++){
			//~ ans += i + j;
		//~ }
	//~ }
//~ }

void init(int T){}

int W[6];

//~ void eras(vector<int>& left, int val){
	//~ vector<int> nw;
	//~ for(int x : left){
		//~ if(x == val) continue;
		//~ nw.push_back(x);
	//~ }
	//~ left = nw;
//~ }

void orderCoins(){
	//~ tle(100000);
	//~ vector<int> left = {1, 2, 3, 4, 5, 6};
	//~ int curr = 0;
	//~ int lst = 7;
	//~ while((int)left.size() > 2){
		//~ if((int)left.size() != lst - 1){
			//~ tle(100000);
		//~ }
		//~ lst = (int)left.size();
		//~ int a = getLightest(left[0], left[1], left[2]);
		//~ if((int)left.size() == 3){
			//~ W[curr] = a;
			//~ curr++;
			//~ eras(left, a);
			//~ continue;
		//~ }
		//~ if((int)left.size() == 6){
			//~ int b = getLightest(left[3], left[4], left[5]);
			//~ int c = -1;
			//~ for(int x : left){
				//~ if(x != a && x != b) c = x;
			//~ }
			//~ if(c == -1) tle(100000);
			//~ int mn = getLightest(a, b, c);
			//~ W[curr] = mn;
			//~ curr++;
			//~ eras(left, mn);
			//~ continue;
		//~ }
		//~ int b = left[(int)left.size() - 1];
		//~ int c = left[(int)left.size() - 2];
		//~ int mn = getLightest(a, b, c);
		//~ W[curr] = mn;
		//~ curr++;
		//~ eras(left, mn);
	//~ }
	//~ if(curr > 4) tle(100000);
	//~ int a = getHeaviest(W[0], left[0], left[1]);
	//~ tle(100000);
	//~ if(left[0] == a){
		//~ W[curr] = left[1];
		//~ W[curr+1] = left[0];
	//~ }else{
		//~ W[curr] = left[0];
		//~ W[curr+1] = left[1];
	//~ }
	for(int i = 0; i < 6; i++) W[i] = i + 1;
	answer(W);
	return;
}

//~ #define MAXN 6
//~ #define MAX_ANSWER_CALLS 1

//~ static int realC[MAXN];
//~ static int ind[MAXN];
//~ static int numQueries;
//~ static int numAnswerCalls;

//~ static int arra[300];
//~ static int arraySize;
//~ static int ptr;

//~ static void readAll() {
  //~ ptr = 0;
  //~ arraySize = 0;
  //~ int x;
  //~ while (scanf("%d", &x) == 1) {
    //~ arra[arraySize++] = x;
    //~ assert(arraySize <= 300);
  //~ }
//~ }

//~ static int readInt() {
  //~ assert(ptr < arraySize);
  //~ int res = arra[ptr++];
  //~ return res;
//~ }

//~ static void initNewTest() {
  //~ for (int i = 0; i < MAXN; i++) {
    //~ realC[i] = readInt();
    //~ realC[i]--;
    //~ ind[realC[i]] = i;
  //~ }

  //~ numQueries = 0;
  //~ numAnswerCalls = 0;
//~ }

//~ void answer(int C[]) {
  //~ int i;

  //~ numAnswerCalls++;
  //~ if (numAnswerCalls > MAX_ANSWER_CALLS)
    //~ return;

  //~ for (i = 0; i < 6; i++)
    //~ printf("%d ", C[i]);
  //~ printf("%d\n", numQueries);
//~ }

//~ static void checkQuery(int A, int B, int C, int D) {
  //~ if (D == -1) {
    //~ if (A < 1 || A > 6 || B < 1 || B > 6 || C < 1 || C > 6)
      //~ assert(0);
    //~ if (A == B || B == C || A == C)
      //~ assert(0);
  //~ } else {
    //~ if (A < 1 || A > 6 || B < 1 || B > 6 || C < 1 || C > 6 || D < 1 || D > 6)
      //~ assert(0);
    //~ if (A == B || A == C || A == D || B == C || B == D || C == D)
      //~ assert(0);
  //~ }
//~ }

//~ int getMedian(int A, int B, int C) {
  //~ numQueries++;
  //~ checkQuery(A, B, C, -1);

  //~ A--;
  //~ B--;
  //~ C--;

  //~ if (ind[B] < ind[A] && ind[A] < ind[C])
    //~ return A + 1;

  //~ if (ind[C] < ind[A] && ind[A] < ind[B])
    //~ return A + 1;

  //~ if (ind[A] < ind[B] && ind[B] < ind[C])
    //~ return B + 1;

  //~ if (ind[C] < ind[B] && ind[B] < ind[A])
    //~ return B + 1;

  //~ return C + 1;
//~ }

//~ int getHeaviest(int A, int B, int C) {
  //~ numQueries++;
  //~ checkQuery(A, B, C, -1);

  //~ A--;
  //~ B--;
  //~ C--;

  //~ if (ind[A] > ind[B] && ind[A] > ind[C])
    //~ return A + 1;

  //~ if (ind[B] > ind[A] && ind[B] > ind[C])
    //~ return B + 1;

  //~ return C + 1;
//~ }

//~ int getLightest(int A, int B, int C) {
  //~ numQueries++;
  //~ checkQuery(A, B, C, -1);

  //~ A--;
  //~ B--;
  //~ C--;

  //~ if (ind[A] < ind[B] && ind[A] < ind[C])
    //~ return A + 1;

  //~ if (ind[B] < ind[A] && ind[B] < ind[C])
    //~ return B + 1;

  //~ return C + 1;
//~ }

//~ int getNextLightest(int A, int B, int C, int D) {
  //~ int allLess = 1;

  //~ numQueries++;
  //~ checkQuery(A, B, C, D);

  //~ A--;
  //~ B--;
  //~ C--;
  //~ D--;

  //~ if (ind[A] > ind[D] || ind[B] > ind[D] || ind[C] > ind[D])
    //~ allLess = 0;

  //~ if (allLess == 1) {
    //~ if (ind[A] < ind[B] && ind[A] < ind[C])
      //~ return A + 1;

    //~ if (ind[B] < ind[A] && ind[B] < ind[C])
      //~ return B + 1;

    //~ return C + 1;
  //~ }

  //~ if (ind[A] > ind[D]) {
    //~ if ((ind[A] < ind[B] || ind[B] < ind[D]) &&
        //~ (ind[A] < ind[C] || ind[C] < ind[D]))
      //~ return A + 1;
  //~ }

  //~ if (ind[B] > ind[D]) {
    //~ if ((ind[B] < ind[A] || ind[A] < ind[D]) &&
        //~ (ind[B] < ind[C] || ind[C] < ind[D]))
      //~ return B + 1;
  //~ }

  //~ return C + 1;
//~ }

//~ int main() {
	
	//~ freopen("in.txt", "r", stdin);

  //~ readAll();
  //~ fclose(stdin);
  //~ int T, i;

  //~ T = readInt();

  //~ init(T);

  //~ for (i = 1; i <= T; i++) {
    //~ initNewTest();
    //~ orderCoins();
  //~ }

  //~ return 0;
//~ }

Compilation message (stderr)

scales.cpp: In function 'void init(int)':
scales.cpp:17:15: warning: unused parameter 'T' [-Wunused-parameter]
   17 | void init(int T){}
      |           ~~~~^
#Verdict Execution timeMemoryGrader output
Fetching results...