#include <bits/stdc++.h>
#include "scales.h"
using namespace std;
#define ll long long
void init(int t){
}
void orderCoins() {
/* ... */
vector<int> x(6,0);
int a = getLightest(1,2,3);
int b = getLightest(4,5,6);
int c = (a+1)%3; //si 1 => 2 yasi
int d = getLightest(a,b,c); //ese es el mas liviano
int a1 = getHeaviest(1,2,3);
int b1 = getHeaviest(4,5,6);
int c1 = (a+1)%3;
int d1 = getHeaviest(a1,b1,c1);
x[d-1] = 1;
x[d1-1] = 2;
int i= 0; while(x[i] != 0) i++;
int j= i+1; while(x[j] != 0) j++;
int k = j+1; while(x[k]!= 0) k++;
int r = k+1; while(x[r] != 0)r++;
//encuentras los 4 0s
int W[] = {d, 0, 0, 0, 0, d1};
int q1 = getLightest(i+1,j+1,k+1);
int q2 = getLightest(j+1,k+1,r+1);
//aqui ya tiens los dos menores y el mayor,
if(q1==q2){
W[1] = q1;
x[q1-1] =3;
int ii= 0; while(x[ii] != 0) ii++;
int jj= ii+1; while(x[jj] != 0) jj++;
int kk = jj+1; while(x[kk]!= 0) kk++;
int f3 = getLightest(ii, jj,kk);
W[2] = f3;
int f5 = getHeaviest(ii,jj,kk);
W[4] = f5;
int f4 = getMedian(ii,jj,kk);
W[3] = f4;
}else{
int q3 = getLightest(i+1,r+1,d1);
W[1] = q3;
x[q3-1] = 3;
int ii= 0; while(x[ii] != 0) ii++;
int jj= ii+1; while(x[jj] != 0) jj++;
int kk = jj+1; while(x[kk]!= 0) kk++;
int f3 = getLightest(ii, jj,kk);
W[2] = f3;
int f5 = getHeaviest(ii,jj,kk);
W[4] = f5;
int f4 = getMedian(ii,jj,kk);
W[3] = f4;
}
answer(W);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |