#include #include #include #include using namespace std; const int INF = 1000000000; class WhiteSpaceEditing { public: int getMinimum(vector lines) { int n = lines.size(); int dp[50][50][50]; for(int i=0;i string print_array(const vector &V) { ostringstream os; os << "{ "; for (typename vector::const_iterator iter = V.begin(); iter != V.end(); ++iter) os << '\"' << *iter << "\","; os << " }"; return os.str(); } void verify_case(int Case, const int &Expected, const int &Received) { cerr << "Test Case #" << Case << "..."; if (Expected == Received) cerr << "PASSED" << endl; else { cerr << "FAILED" << endl; cerr << "\tExpected: \"" << Expected << '\"' << endl; cerr << "\tReceived: \"" << Received << '\"' << endl; } } void test_case_0() { int Arr0[] = { 3, 2, 3 }; vector Arg0(Arr0, Arr0 + (sizeof(Arr0) / sizeof(Arr0[0]))); int Arg1 = 6; verify_case(0, Arg1, getMinimum(Arg0)); } void test_case_1() { int Arr0[] = { 0 }; vector Arg0(Arr0, Arr0 + (sizeof(Arr0) / sizeof(Arr0[0]))); int Arg1 = 0; verify_case(1, Arg1, getMinimum(Arg0)); } void test_case_2() { int Arr0[] = { 1, 2, 4 } ; vector Arg0(Arr0, Arr0 + (sizeof(Arr0) / sizeof(Arr0[0]))); int Arg1 = 6; verify_case(2, Arg1, getMinimum(Arg0)); } void test_case_3() { int Arr0[] = { 250, 105, 155, 205, 350 } ; vector Arg0(Arr0, Arr0 + (sizeof(Arr0) / sizeof(Arr0[0]))); int Arg1 = 499; verify_case(3, Arg1, getMinimum(Arg0)); } // END CUT HERE }; // BEGIN CUT HERE int main() { WhiteSpaceEditing ___test; ___test.run_test(-1); } // END CUT HERE