Submission #237987

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
2379872020-06-09 14:57:21rama_pangScales (IOI15_scales)C++14
100 / 100
727 ms508 KiB
#include "scales.h"
#include <bits/stdc++.h>
using namespace std;
const int N = 720;
using state = bitset<N>;
vector<vector<int>> combinations; // take 4 coins' ids
vector<vector<int>> permutations; // weights of each coin
function<int(int, int, int, int, int)> Lightest = [&](int P, int A, int B, int C, int D) {
if (P == -1) {
return getLightest(A + 1, B + 1, C + 1) - 1;
} else {
const vector<int> &cur = permutations[P];
vector<array<int, 2>> weights = {{cur[A], A}, {cur[B], B}, {cur[C], C}};
sort(begin(weights), end(weights));
return weights[0][1];
}
};
function<int(int, int, int, int, int)> Median = [&](int P, int A, int B, int C, int D) {
if (P == -1) {
return getMedian(A + 1, B + 1, C + 1) - 1;
} else {
const vector<int> &cur = permutations[P];
vector<array<int, 2>> weights = {{cur[A], A}, {cur[B], B}, {cur[C], C}};
sort(begin(weights), end(weights));
return weights[1][1];
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

scales.cpp: In lambda function:
scales.cpp:11:87: warning: unused parameter 'D' [-Wunused-parameter]
 function<int(int, int, int, int, int)> Lightest = [&](int P, int A, int B, int C, int D) {
                                                                                       ^
scales.cpp: In lambda function:
scales.cpp:22:85: warning: unused parameter 'D' [-Wunused-parameter]
 function<int(int, int, int, int, int)> Median = [&](int P, int A, int B, int C, int D) {
                                                                                     ^
scales.cpp: In lambda function:
scales.cpp:33:87: warning: unused parameter 'D' [-Wunused-parameter]
 function<int(int, int, int, int, int)> Heaviest = [&](int P, int A, int B, int C, int D) {
                                                                                       ^
scales.cpp: In function 'void init(int)':
scales.cpp:58:15: warning: unused parameter 'T' [-Wunused-parameter]
 void init(int T) {
               ^
scales.cpp: In function 'bool Try(const state&, const std::function<int(int, int, int, int, int)>&, int)':
scales.cpp:94:26: warning: conversion to 'int' from 'std::size_t {aka long unsigned int}' may alter its value [-Wconversion]
     int cnt = perms.count();
               ~~~~~~~~~~~^~
scales.cpp: In function 'bool Solve(const state&, int)':
scales.cpp:118:37: warning: conversion to 'int' from 'std::size_t {aka long unsigned int}' may alter its value [-Wconversion]
     int pid = candidates._Find_first();
               ~~~~~~~~~~~~~~~~~~~~~~^~
scales.cpp:138:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...