Submission #730274

# Submission time Handle Problem Language Result Execution time Memory
730274 2023-04-25T14:41:09 Z NeroZein Scales (IOI15_scales) C++17
45.4545 / 100
1 ms 304 KB
#include "scales.h"

#include <bits/stdc++.h>
using namespace std; 

void init(int T) {
  
}

void orderCoins() {
  int w[6] = {};
  vector<int> a(3), b(3); 
  a[2] = getHeaviest(1, 2, 3); 
  a[0] = getLightest(1, 2, 3); 
  a[1] = 1 ^ 2 ^ 3 ^ a[0] ^ a[2]; 
  b[2] = getHeaviest(4, 5, 6);
  b[0] = getLightest(4, 5, 6); 
  b[1] = 4 ^ 5 ^ 6 ^ b[0] ^ b[2];
  //4 queries
  int x = getNextLightest(a[0], a[1], a[2], b[0]); 
  bool MnIsInB = true;
  if (x == a[0]) {
    int y = getLightest(a[0], a[1], b[0]);
    if (y != b[0]) {
      MnIsInB = false; 
    } 
  } else {
    MnIsInB = false; 
  }
  vector<int> ans;
  if (MnIsInB) {///if returned b[0] then a[i] is bigger than b[2]
    ans = b; 
    //cout << "MnIsInB" << '\n';
    for (int i = 0; i <= 2; ++i) {
      x = getNextLightest(b[0], b[1], b[2], a[i]);
      if (x == b[0]) {
        ans.insert(ans.begin() + ans.size(), a[i]); 
      } else {
        for (int j = 0; j < (int) ans.size(); ++j) {
          if (ans[j] == x) {
            ans.insert(ans.begin() + j, a[i]); 
            break; 
          }
        }
      }
      //for (int j = 0; j < (int) ans.size(); ++j) {
        //cout << ans[j] << ' ';
      //}
      //cout << '\n'; 
    }
  } else {///if returned a[0] then b[i] is bigger than a[2]
    ans = a;
    for (int i = 0; i <= 2; ++i) {
      x = getNextLightest(a[0], a[1], a[2], b[i]);
      if (x == a[0]) {
        ans.insert(ans.begin() + ans.size(), b[i]); 
      } else {
        for (int j = 0; j < (int) ans.size(); ++j) {
          if (ans[j] == x) {
            ans.insert(ans.begin() + j, b[i]);
            break;
          }
        }
      }
    }
  }
  for (int i = 0; i < 6; ++i) {
    w[i] = ans[i];
  }
  answer(w); 
}

Compilation message

scales.cpp: In function 'void init(int)':
scales.cpp:6:15: warning: unused parameter 'T' [-Wunused-parameter]
    6 | void init(int T) {
      |           ~~~~^
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 212 KB Output is partially correct
2 Partially correct 1 ms 212 KB Output is partially correct
3 Partially correct 1 ms 212 KB Output is partially correct
4 Partially correct 1 ms 212 KB Output is partially correct
5 Partially correct 1 ms 212 KB Output is partially correct
6 Partially correct 1 ms 212 KB Output is partially correct
7 Partially correct 1 ms 212 KB Output is partially correct
8 Partially correct 1 ms 212 KB Output is partially correct
9 Partially correct 1 ms 212 KB Output is partially correct
10 Partially correct 1 ms 212 KB Output is partially correct
11 Partially correct 1 ms 212 KB Output is partially correct
12 Partially correct 1 ms 296 KB Output is partially correct
13 Partially correct 1 ms 296 KB Output is partially correct
14 Partially correct 1 ms 300 KB Output is partially correct
15 Partially correct 1 ms 212 KB Output is partially correct
16 Partially correct 1 ms 212 KB Output is partially correct
17 Partially correct 1 ms 212 KB Output is partially correct
18 Partially correct 1 ms 212 KB Output is partially correct
19 Partially correct 1 ms 212 KB Output is partially correct
20 Partially correct 1 ms 212 KB Output is partially correct
21 Partially correct 1 ms 212 KB Output is partially correct
22 Partially correct 1 ms 300 KB Output is partially correct
23 Partially correct 0 ms 212 KB Output is partially correct
24 Partially correct 1 ms 296 KB Output is partially correct
25 Partially correct 1 ms 212 KB Output is partially correct
26 Partially correct 1 ms 212 KB Output is partially correct
27 Partially correct 1 ms 212 KB Output is partially correct
28 Partially correct 1 ms 300 KB Output is partially correct
29 Partially correct 0 ms 212 KB Output is partially correct
30 Partially correct 1 ms 212 KB Output is partially correct
31 Partially correct 1 ms 212 KB Output is partially correct
32 Partially correct 0 ms 212 KB Output is partially correct
33 Partially correct 1 ms 224 KB Output is partially correct
34 Partially correct 0 ms 212 KB Output is partially correct
35 Partially correct 0 ms 300 KB Output is partially correct
36 Partially correct 0 ms 212 KB Output is partially correct
37 Partially correct 1 ms 300 KB Output is partially correct
38 Partially correct 1 ms 296 KB Output is partially correct
39 Partially correct 0 ms 212 KB Output is partially correct
40 Partially correct 1 ms 304 KB Output is partially correct