Submission #2214095
Source Code Expand
#include <algorithm> #include <iostream> #define REP(i, n) for (int i = 0; i < n; i++) #define FOR(i, m, n) for (int i = m; i < n; i++) #define ALL(a) (a).begin(), (a).end() #define INF 10000000 #define MOD 1000000007 #define MIN -1000 #define MAX 1000 #define R_POS (-100) #define G_POS 0 #define B_POS 100 using namespace std; int calcCost(int start, int end, int center) { int left = center - start; int right = end - center - 1; int left_cost = left * (left + 1) / 2; int right_cost = right * (right + 1) / 2; int cost = 0; if (start <= center) cost += left_cost; else cost -= left_cost; if (center < end) cost += right_cost; else cost -= right_cost; return cost; } /* int main(void) { int x, y; cin >> x >> y; cout << calcCost(x, y, 0) << endl; return 0; } */ int main() { int R, G, B; cin >> R >> G >> B; int result = INF; for (int g = MIN; g <= MAX; g++) { int g_start = g; // Gの座標の最小値 int g_end = g + G; // Gの上界 int g_cost = calcCost(g_start, g_end, 0); int r_cost = INF; for (int r = MIN; r + R <= g_start; r++) { int r_start = r; int r_end = r + R; int cost = calcCost(r_start, r_end, -100); r_cost = std::min(cost, r_cost); } int b_cost = INF; for (int b = g_end; b + B <= MAX; b++) { int b_start = b; int b_end = b + B; int cost = calcCost(b_start, b_end, 100); b_cost = std::min(cost, b_cost); } int sum = g_cost + r_cost + b_cost; result = std::min(sum, result); } cout << result << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - マーブル |
User | y1r |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1852 Byte |
Status | AC |
Exec Time | 15 ms |
Memory | 256 KB |
Judge Result
Set Name | sub1 | sub2 | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 10 / 10 | 30 / 30 | 60 / 60 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
sub1 | sample_01_ABC.txt, test_ABC_01.txt, test_ABC_02.txt, test_ABC_03.txt, test_ABC_04.txt, test_ABC_05.txt, test_ABC_06.txt, test_ABC_07.txt, test_ABC_08.txt, test_ABC_09.txt, test_ABC_10.txt, test_ABC_11.txt, test_ABC_12.txt, test_ABC_13.txt, test_ABC_14.txt, test_ABC_15.txt, test_ABC_16.txt, test_ABC_17.txt, test_ABC_18.txt, test_ABC_19.txt, test_ABC_20.txt, test_ABC_21.txt, test_ABC_22.txt, test_ABC_23.txt, test_ABC_24.txt, test_ABC_25.txt, test_ABC_26.txt, test_ABC_27.txt, test_ABC_28.txt |
sub2 | sample_01_ABC.txt, sample_02_BC.txt, test_ABC_01.txt, test_ABC_02.txt, test_ABC_03.txt, test_ABC_04.txt, test_ABC_05.txt, test_ABC_06.txt, test_ABC_07.txt, test_ABC_08.txt, test_ABC_09.txt, test_ABC_10.txt, test_ABC_11.txt, test_ABC_12.txt, test_ABC_13.txt, test_ABC_14.txt, test_ABC_15.txt, test_ABC_16.txt, test_ABC_17.txt, test_ABC_18.txt, test_ABC_19.txt, test_ABC_20.txt, test_ABC_21.txt, test_ABC_22.txt, test_ABC_23.txt, test_ABC_24.txt, test_ABC_25.txt, test_ABC_26.txt, test_ABC_27.txt, test_ABC_28.txt, test_BC_29.txt, test_BC_30.txt, test_BC_31.txt, test_BC_32.txt, test_BC_33.txt, test_BC_34.txt, test_BC_35.txt, test_BC_36.txt, test_BC_37.txt, test_BC_38.txt, test_BC_39.txt, test_BC_40.txt, test_BC_41.txt, test_BC_42.txt, test_BC_43.txt, test_BC_44.txt, test_BC_45.txt, test_BC_46.txt, test_BC_47.txt, test_BC_48.txt, test_BC_49.txt, test_BC_50.txt, test_BC_51.txt, test_BC_52.txt, test_BC_53.txt, test_BC_54.txt, test_BC_55.txt |
All | sample_01_ABC.txt, sample_02_BC.txt, sample_03_C.txt, test_ABC_01.txt, test_ABC_02.txt, test_ABC_03.txt, test_ABC_04.txt, test_ABC_05.txt, test_ABC_06.txt, test_ABC_07.txt, test_ABC_08.txt, test_ABC_09.txt, test_ABC_10.txt, test_ABC_11.txt, test_ABC_12.txt, test_ABC_13.txt, test_ABC_14.txt, test_ABC_15.txt, test_ABC_16.txt, test_ABC_17.txt, test_ABC_18.txt, test_ABC_19.txt, test_ABC_20.txt, test_ABC_21.txt, test_ABC_22.txt, test_ABC_23.txt, test_ABC_24.txt, test_ABC_25.txt, test_ABC_26.txt, test_ABC_27.txt, test_ABC_28.txt, test_BC_29.txt, test_BC_30.txt, test_BC_31.txt, test_BC_32.txt, test_BC_33.txt, test_BC_34.txt, test_BC_35.txt, test_BC_36.txt, test_BC_37.txt, test_BC_38.txt, test_BC_39.txt, test_BC_40.txt, test_BC_41.txt, test_BC_42.txt, test_BC_43.txt, test_BC_44.txt, test_BC_45.txt, test_BC_46.txt, test_BC_47.txt, test_BC_48.txt, test_BC_49.txt, test_BC_50.txt, test_BC_51.txt, test_BC_52.txt, test_BC_53.txt, test_BC_54.txt, test_BC_55.txt, test_C_56.txt, test_C_57.txt, test_C_58.txt, test_C_59.txt, test_C_60.txt, test_C_61.txt, test_C_62.txt, test_C_63.txt, test_C_64.txt, test_C_65.txt, test_C_66.txt, test_C_67.txt, test_C_68.txt, test_C_69.txt, test_C_70.txt, test_C_71.txt, test_C_72.txt, test_C_73.txt, test_C_74.txt, test_C_75.txt, test_C_76.txt, test_C_77.txt, test_C_78.txt, test_C_79.txt, test_C_80.txt, test_C_81.txt, test_C_82.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01_ABC.txt | AC | 15 ms | 256 KB |
sample_02_BC.txt | AC | 15 ms | 256 KB |
sample_03_C.txt | AC | 10 ms | 256 KB |
test_ABC_01.txt | AC | 15 ms | 256 KB |
test_ABC_02.txt | AC | 15 ms | 256 KB |
test_ABC_03.txt | AC | 15 ms | 256 KB |
test_ABC_04.txt | AC | 15 ms | 256 KB |
test_ABC_05.txt | AC | 15 ms | 256 KB |
test_ABC_06.txt | AC | 15 ms | 256 KB |
test_ABC_07.txt | AC | 15 ms | 256 KB |
test_ABC_08.txt | AC | 15 ms | 256 KB |
test_ABC_09.txt | AC | 15 ms | 256 KB |
test_ABC_10.txt | AC | 15 ms | 256 KB |
test_ABC_11.txt | AC | 15 ms | 256 KB |
test_ABC_12.txt | AC | 15 ms | 256 KB |
test_ABC_13.txt | AC | 15 ms | 256 KB |
test_ABC_14.txt | AC | 15 ms | 256 KB |
test_ABC_15.txt | AC | 15 ms | 256 KB |
test_ABC_16.txt | AC | 15 ms | 256 KB |
test_ABC_17.txt | AC | 15 ms | 256 KB |
test_ABC_18.txt | AC | 15 ms | 256 KB |
test_ABC_19.txt | AC | 15 ms | 256 KB |
test_ABC_20.txt | AC | 15 ms | 256 KB |
test_ABC_21.txt | AC | 15 ms | 256 KB |
test_ABC_22.txt | AC | 15 ms | 256 KB |
test_ABC_23.txt | AC | 15 ms | 256 KB |
test_ABC_24.txt | AC | 15 ms | 256 KB |
test_ABC_25.txt | AC | 15 ms | 256 KB |
test_ABC_26.txt | AC | 15 ms | 256 KB |
test_ABC_27.txt | AC | 15 ms | 256 KB |
test_ABC_28.txt | AC | 15 ms | 256 KB |
test_BC_29.txt | AC | 15 ms | 256 KB |
test_BC_30.txt | AC | 15 ms | 256 KB |
test_BC_31.txt | AC | 14 ms | 256 KB |
test_BC_32.txt | AC | 14 ms | 256 KB |
test_BC_33.txt | AC | 14 ms | 256 KB |
test_BC_34.txt | AC | 14 ms | 256 KB |
test_BC_35.txt | AC | 15 ms | 256 KB |
test_BC_36.txt | AC | 14 ms | 256 KB |
test_BC_37.txt | AC | 15 ms | 256 KB |
test_BC_38.txt | AC | 15 ms | 256 KB |
test_BC_39.txt | AC | 15 ms | 256 KB |
test_BC_40.txt | AC | 14 ms | 256 KB |
test_BC_41.txt | AC | 14 ms | 256 KB |
test_BC_42.txt | AC | 14 ms | 256 KB |
test_BC_43.txt | AC | 15 ms | 256 KB |
test_BC_44.txt | AC | 15 ms | 256 KB |
test_BC_45.txt | AC | 15 ms | 256 KB |
test_BC_46.txt | AC | 14 ms | 256 KB |
test_BC_47.txt | AC | 15 ms | 256 KB |
test_BC_48.txt | AC | 14 ms | 256 KB |
test_BC_49.txt | AC | 14 ms | 256 KB |
test_BC_50.txt | AC | 14 ms | 256 KB |
test_BC_51.txt | AC | 14 ms | 256 KB |
test_BC_52.txt | AC | 15 ms | 256 KB |
test_BC_53.txt | AC | 15 ms | 256 KB |
test_BC_54.txt | AC | 15 ms | 256 KB |
test_BC_55.txt | AC | 14 ms | 256 KB |
test_C_56.txt | AC | 13 ms | 256 KB |
test_C_57.txt | AC | 12 ms | 256 KB |
test_C_58.txt | AC | 11 ms | 256 KB |
test_C_59.txt | AC | 12 ms | 256 KB |
test_C_60.txt | AC | 13 ms | 256 KB |
test_C_61.txt | AC | 12 ms | 256 KB |
test_C_62.txt | AC | 13 ms | 256 KB |
test_C_63.txt | AC | 12 ms | 256 KB |
test_C_64.txt | AC | 13 ms | 256 KB |
test_C_65.txt | AC | 12 ms | 256 KB |
test_C_66.txt | AC | 12 ms | 256 KB |
test_C_67.txt | AC | 12 ms | 256 KB |
test_C_68.txt | AC | 13 ms | 256 KB |
test_C_69.txt | AC | 13 ms | 256 KB |
test_C_70.txt | AC | 13 ms | 256 KB |
test_C_71.txt | AC | 12 ms | 256 KB |
test_C_72.txt | AC | 11 ms | 256 KB |
test_C_73.txt | AC | 12 ms | 256 KB |
test_C_74.txt | AC | 12 ms | 256 KB |
test_C_75.txt | AC | 12 ms | 256 KB |
test_C_76.txt | AC | 11 ms | 256 KB |
test_C_77.txt | AC | 11 ms | 256 KB |
test_C_78.txt | AC | 11 ms | 256 KB |
test_C_79.txt | AC | 13 ms | 256 KB |
test_C_80.txt | AC | 13 ms | 256 KB |
test_C_81.txt | AC | 13 ms | 256 KB |
test_C_82.txt | AC | 10 ms | 256 KB |