Submission #100635

#TimeUsernameProblemLanguageResultExecution timeMemory
100635LawlietScales (IOI15_scales)C++14
0 / 100
4 ms512 KiB
#include "scales.h"
#include <bits/stdc++.h>
 
#define MAX 10
 
using namespace std;
 
int query[MAX];
 
bool marc[MAX];
 
vector<int> aux;
vector<int> ordered[2];
 
void orderCoins(void)
{
  int W[6];
 
  ordered[0].push_back(getLightest(1 , 2 , 3));
  ordered[0].push_back(getMedian(1 , 2 , 3));
  ordered[0].push_back(6 - ordered[0][0] - ordered[0][1]);
 
  ordered[1].push_back(getLightest(4 , 5 , 6));
  ordered[1].push_back(getMedian(4 , 5 , 6));
  ordered[1].push_back(15 - ordered[1][0] - ordered[1][1]);
 
  int mn = ordered[0][0];
 
  for(int g = 0 ; g < 3 ; g++)
  {
    W[5 - g] = getHeaviest(ordered[0].back() , ordered[1].back() , mn);
 
    if(W[5 - g] == ordered[0].back()) ordered[0].pop_back();
    if(W[5 - g] == ordered[1].back()) ordered[1].pop_back();
 
    if(ordered[0].size() == 1) mn = ordered[1][0];
  }
 
  if(ordered[0].size() == 3) for(int g = 0 ; g < 3 ; g++) W[g] = ordered[0][g];
  else if(ordered[1].size() == 3) for(int g = 0 ; g < 3 ; g++) W[g] = ordered[1][g];
  else
  {
    for(int g = 0 ; g < ordered[0].size() ; g++) aux.push_back(ordered[0][g]);
    for(int g = 0 ; g < ordered[1].size() ; g++) aux.push_back(ordered[1][g]);
 
    //int med = getMedian(aux[0] , aux[1] , aux[2]);
 
    W[1] = getMedian(aux[0] , aux[1] , aux[2]);
    W[0] = getLightest(aux[0] , aux[1] , aux[2]);
    W[2] = aux[0] + aux[1] + aux[2] - W[0] - W[1];
 
    /*if(ordered[1].size() == 1) swap(ordered[0] , ordered[1]);
 
    if(med == ordered[0][0])
    {
      W[0] = ordered[1][0];
      W[2] = ordered[1][1];
    }
    if(med == ordered[1][0])
    {
      W[2] = ordered[1][1];
      W[0] = ordered[0][0];
    }
    if(med == ordered[1][1])
    {
      W[0] = ordered[1][0];
      W[2] = ordered[0][0];
    }*/
  }
 
  answer(W);
}
 
 
void init(int T)
{
}

Compilation message (stderr)

In file included from grader.c:2:0:
graderlib.c: In function 'void answer(int*)':
graderlib.c:53:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if (_ghksjhdfkae19ga_ > 1) 
     ^~
graderlib.c:56:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  for (i = 0; i < 6; i++) {
  ^~~
scales.cpp: In function 'void orderCoins()':
scales.cpp:43:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int g = 0 ; g < ordered[0].size() ; g++) aux.push_back(ordered[0][g]);
                     ~~^~~~~~~~~~~~~~~~~~~
scales.cpp:44:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int g = 0 ; g < ordered[1].size() ; g++) aux.push_back(ordered[1][g]);
                     ~~^~~~~~~~~~~~~~~~~~~
scales.cpp: In function 'void init(int)':
scales.cpp:75:15: warning: unused parameter 'T' [-Wunused-parameter]
 void init(int T)
               ^
#Verdict Execution timeMemoryGrader output
Fetching results...