Submission #1503071
Source Code Expand
#include "bits/stdc++.h" #include <regex> #define _USE_MATH_DEFINES #include <math.h> using namespace std; #ifndef _DEBUG #define main_ main #endif #define FOR(i,s,e) for (int i = int(s); i < int(e); ++i) #define REP(i,e) FOR(i,0,e) #define INF (INT_MAX/2) #define EPS (1.0e-8) #define LINF (LONG_MAX/2) typedef long long ll; typedef unsigned long long ull; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<ll> vl; typedef vector<vl> vvl; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<bool> vb; typedef vector<string> vs; template <typename T> using keyVal = pair<string, T>; template<typename T> bool val_greater(const keyVal<T>& left, const keyVal<T>& right) { return left.second > right.second; } vs split(string str, char sep) { vs v; stringstream ss(str); string t; while (getline(ss, t, sep)) v.push_back(t); return v; } void init_global() {} const int XMIN = -500; const int XMAX = 500; int C[3]; const int CMAX = 300 * 3; int memo[XMAX - XMIN + 4][CMAX + 4]; int dfs(int i, int rem) { if (XMAX < i) return INF; if (rem == 0) return 0; if (memo[i - XMIN][rem] >= 0) { return memo[i - XMIN][rem]; } int cost = 0; if (rem > C[1] + C[2]) { cost = min( dfs(i + 1, rem - 1) + abs(i + 100), dfs(i + 1, rem) ); } else if (rem > C[2]) { cost = min( dfs(i + 1, rem - 1) + abs(i - 0), dfs(i + 1, rem) ); } else if (rem > 0) { cost = min( dfs(i + 1, rem - 1) + abs(i - 100), dfs(i + 1, rem) ); } memo[i - XMIN][rem] = cost; return cost; } int main_() { cin.tie(0); ios::sync_with_stdio(false); int SUM = 0; FOR(i, 0, 3) { cin >> C[i]; SUM += C[i]; } FOR(i, 0, XMAX - XMIN + 1) { FOR(j, 0, CMAX+1) { memo[i][j] = -1; } } int ans = dfs(XMIN, SUM); cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - マーブル |
User | apprec |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1901 Byte |
Status | AC |
Exec Time | 11 ms |
Memory | 3840 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 | 3 ms | 3840 KB |
sample_02_BC.txt | AC | 3 ms | 3840 KB |
sample_03_C.txt | AC | 10 ms | 3840 KB |
test_ABC_01.txt | AC | 3 ms | 3840 KB |
test_ABC_02.txt | AC | 3 ms | 3840 KB |
test_ABC_03.txt | AC | 3 ms | 3840 KB |
test_ABC_04.txt | AC | 3 ms | 3840 KB |
test_ABC_05.txt | AC | 3 ms | 3840 KB |
test_ABC_06.txt | AC | 3 ms | 3840 KB |
test_ABC_07.txt | AC | 3 ms | 3840 KB |
test_ABC_08.txt | AC | 3 ms | 3840 KB |
test_ABC_09.txt | AC | 3 ms | 3840 KB |
test_ABC_10.txt | AC | 3 ms | 3840 KB |
test_ABC_11.txt | AC | 3 ms | 3840 KB |
test_ABC_12.txt | AC | 3 ms | 3840 KB |
test_ABC_13.txt | AC | 3 ms | 3840 KB |
test_ABC_14.txt | AC | 3 ms | 3840 KB |
test_ABC_15.txt | AC | 3 ms | 3840 KB |
test_ABC_16.txt | AC | 3 ms | 3840 KB |
test_ABC_17.txt | AC | 3 ms | 3840 KB |
test_ABC_18.txt | AC | 3 ms | 3840 KB |
test_ABC_19.txt | AC | 3 ms | 3840 KB |
test_ABC_20.txt | AC | 3 ms | 3840 KB |
test_ABC_21.txt | AC | 3 ms | 3840 KB |
test_ABC_22.txt | AC | 3 ms | 3840 KB |
test_ABC_23.txt | AC | 2 ms | 3840 KB |
test_ABC_24.txt | AC | 3 ms | 3840 KB |
test_ABC_25.txt | AC | 3 ms | 3840 KB |
test_ABC_26.txt | AC | 3 ms | 3840 KB |
test_ABC_27.txt | AC | 3 ms | 3840 KB |
test_ABC_28.txt | AC | 3 ms | 3840 KB |
test_BC_29.txt | AC | 3 ms | 3840 KB |
test_BC_30.txt | AC | 3 ms | 3840 KB |
test_BC_31.txt | AC | 4 ms | 3840 KB |
test_BC_32.txt | AC | 3 ms | 3840 KB |
test_BC_33.txt | AC | 4 ms | 3840 KB |
test_BC_34.txt | AC | 4 ms | 3840 KB |
test_BC_35.txt | AC | 3 ms | 3840 KB |
test_BC_36.txt | AC | 3 ms | 3840 KB |
test_BC_37.txt | AC | 4 ms | 3840 KB |
test_BC_38.txt | AC | 4 ms | 3840 KB |
test_BC_39.txt | AC | 3 ms | 3840 KB |
test_BC_40.txt | AC | 4 ms | 3840 KB |
test_BC_41.txt | AC | 4 ms | 3840 KB |
test_BC_42.txt | AC | 4 ms | 3840 KB |
test_BC_43.txt | AC | 3 ms | 3840 KB |
test_BC_44.txt | AC | 4 ms | 3840 KB |
test_BC_45.txt | AC | 3 ms | 3840 KB |
test_BC_46.txt | AC | 4 ms | 3840 KB |
test_BC_47.txt | AC | 4 ms | 3840 KB |
test_BC_48.txt | AC | 4 ms | 3840 KB |
test_BC_49.txt | AC | 4 ms | 3840 KB |
test_BC_50.txt | AC | 4 ms | 3840 KB |
test_BC_51.txt | AC | 4 ms | 3840 KB |
test_BC_52.txt | AC | 3 ms | 3840 KB |
test_BC_53.txt | AC | 3 ms | 3840 KB |
test_BC_54.txt | AC | 3 ms | 3840 KB |
test_BC_55.txt | AC | 4 ms | 3840 KB |
test_C_56.txt | AC | 7 ms | 3840 KB |
test_C_57.txt | AC | 8 ms | 3840 KB |
test_C_58.txt | AC | 9 ms | 3840 KB |
test_C_59.txt | AC | 8 ms | 3840 KB |
test_C_60.txt | AC | 6 ms | 3840 KB |
test_C_61.txt | AC | 8 ms | 3840 KB |
test_C_62.txt | AC | 7 ms | 3840 KB |
test_C_63.txt | AC | 8 ms | 3840 KB |
test_C_64.txt | AC | 6 ms | 3840 KB |
test_C_65.txt | AC | 8 ms | 3840 KB |
test_C_66.txt | AC | 8 ms | 3840 KB |
test_C_67.txt | AC | 8 ms | 3840 KB |
test_C_68.txt | AC | 6 ms | 3840 KB |
test_C_69.txt | AC | 7 ms | 3840 KB |
test_C_70.txt | AC | 7 ms | 3840 KB |
test_C_71.txt | AC | 8 ms | 3840 KB |
test_C_72.txt | AC | 10 ms | 3840 KB |
test_C_73.txt | AC | 9 ms | 3840 KB |
test_C_74.txt | AC | 8 ms | 3840 KB |
test_C_75.txt | AC | 8 ms | 3840 KB |
test_C_76.txt | AC | 9 ms | 3840 KB |
test_C_77.txt | AC | 9 ms | 3840 KB |
test_C_78.txt | AC | 9 ms | 3840 KB |
test_C_79.txt | AC | 5 ms | 3840 KB |
test_C_80.txt | AC | 5 ms | 3840 KB |
test_C_81.txt | AC | 5 ms | 3840 KB |
test_C_82.txt | AC | 11 ms | 3840 KB |