Submission #409866

#TimeUsernameProblemLanguageResultExecution timeMemory
409866EJOI2019Andrew저울 (IOI15_scales)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "scales.h"
using namespace std;
typedef long long ll;
typedef vector<ll> vi;
typedef pair<ll,ll> ii;
typedef vector<ii> vii;
typedef long double lld;
#define per(i,a,b) for(ll i = a; i >= b; i--)
#define all(x) x.begin(),x.end()
#define sz(x) (ll)(x).size()

#define inf 1000000000000000000

void init(int T) {

}

void orderCoins() {
    int W[] = {1, 2, 3, 4, 5, 6};
    int A[3],B[3];
    A[0] = getLightest(1,2,3);
    A[1] = getMedian(1,2,3);
    A[2] = 6-A[0]-A[1];
    B[0] = getLightest(4,5,6);
    B[1] = getMedian(4,5,6);
    B[2] = 15-B[0]-B[1];
    ll a[3];
    for(ll i = 0; i < 3; i++)
    a[i] = getNextLightest(A[0],A[1],A[2],B[i]);

    if (a[0] == A[0] && a[1] == A[0] && a[2] == A[0])
        {
      if (getLightest(A[0],A[1],B[1]) == B[1])
      {
        W[0] = B[0];
        W[1] = B[1];
        if (getLightest(A[0],A[1],B[2]) == B[2]){
          W[2] = B[2];
          W[3] = A[0];
          W[4] = A[1];
          W[5] = A[2];
        } else {
          W[2] = A[0];
          W[3] = A[1];
          W[4] = A[2];
          W[5] = B[2];
        }
      } else {
        W[4] = B[1];
        W[5] = B[2];
        if (getLightest(A[0],A[1],B[0]) == B[0]){
          W[0] = B[0];
          W[1] = A[0];
          W[2] = A[1];
          W[3] = A[2];
        } else {
          W[0] = A[0];
          W[1] = A[1];
          W[2] = A[2];
          W[3] = B[0];
        }
      }
    } else {
      vector<vi> Z;
      vi _;
     Z.assign(4,_);
      bool check = true;
      for(int i=0; i<3; ++i)
      {

     for(int j=0; j<3; ++ j)
          if (a[i] == A[j]){
            if (j == 0 && check){
                Z[j].push_back(B[i]);
            } else if (j == 0) {
               Z[3].push_back(B[i]);
            } else {
                Z[j].push_back(B[i]);
              check = false;
            }
          }
        }
      }
      ll cur = 0;
      for(int i=0; i<4; ++i)
      {


        for(auto j:Z[i])
        {
          W[cur] = j;
          cur++;
        }
        if (i < 3)
            {
                W[cur] = A[i];
        cur++;
        }
      }
    }
    answer(W);
}

Compilation message (stderr)

scales.cpp: In function 'void init(int)':
scales.cpp:15:15: warning: unused parameter 'T' [-Wunused-parameter]
   15 | void init(int T) {
      |           ~~~~^
scales.cpp: In function 'void orderCoins()':
scales.cpp:90:20: error: 'Z' was not declared in this scope
   90 |         for(auto j:Z[i])
      |                    ^
scales.cpp: At global scope:
scales.cpp:102:11: error: expected constructor, destructor, or type conversion before '(' token
  102 |     answer(W);
      |           ^
scales.cpp:103:1: error: expected declaration before '}' token
  103 | }
      | ^