제출 #154152

#제출 시각아이디문제언어결과실행 시간메모리
154152popovicirobertScales (IOI15_scales)C++14
45.45 / 100
3 ms420 KiB
#include "scales.h"
#include <bits/stdc++.h>

using namespace std;

void init(int T) {

}

void orderCoins() {
    vector <int> a, b;
    int z = getHeaviest(1, 2, 3), x = getLightest(1, 2, 3);
    int y = 6 - x - z;
    a = {x, y, z};

    z = getHeaviest(4, 5, 6), x = getLightest(4, 5, 6);
    y = 15 - x - z;
    b = {x, y, z};

    int sol[6];

    int pa = 0, pb = 0;
    for(int i = 0; i < 4; i++) {
        vector <int> cur;
        int j = 0;
        while(cur.size() < 3) {
            if(pa + j < 3) {
                cur.push_back(a[pa + j]);
            }
            if(pb + j < 3 && cur.size() < 3) {
                cur.push_back(b[pb + j]);
            }
            j++;
        }
        if(cur == a) {
            sol[i] = a[pa++];
            continue;
        }
        if(cur == b) {
            sol[i] = b[pb++];
            continue;
        }
        sol[i] = getLightest(cur[0], cur[1], cur[2]);

        if(pa < 3 && a[pa] == sol[i]) {
            pa++;
        }
        else {
            pb++;
        }
    }
    vector <int> cur;
    int sum = 0;
    for(int i = pa; i < 3; i++) {
        cur.push_back(a[i]);
        sum += a[i];
    }
    for(int i = pb; i < 3; i++) {
        cur.push_back(b[i]);
        sum += b[i];
    }
    if(pa == 1) {
        sol[4] = a[1], sol[5] = a[2];
    }
    else if(pb == 1) {
        sol[4] = b[1], sol[5] = b[2];
    }
    else {
        cur.push_back(sol[0]);
        sol[5] = getHeaviest(cur[0], cur[1], cur[2]);
        sol[4] = sum - sol[5];
    }

    answer(sol);
}

컴파일 시 표준 에러 (stderr) 메시지

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