#include #include #include #include using namespace std; int main(int, char**) { ifstream ifile("studies.in"); int K; ifile>>K; for (int k=1; k<=K; ++k) { int n, H; ifile>>n>>H; vector< vector > rgh(n, vector(11, 0)); for (int i=0; i>rgh[i][j]; double rggpa[] = {4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7, 1.3, 1.0, 0}; vector dp(H+1, 0); for (int i=0; i0; --j) { double tempans=0; for (int m=0; mj) continue; tempans = max(tempans, dp[j-rgh[i][m]]+rggpa[m]); //vector::size_type cb=10-(upper_bound(rgh[i].rbegin(), rgh[i].rend(), j-m)-rgh[i].rbegin()-1); //tempans=max(tempans, dp[j-m-rgh[i][cb]]+rggpa[cb]); //tempans=max(tempans, *max_element(dp.begin(), dp.begin()+j-m-rgh[i][cb]+1)+rggpa[cb]); //dp[j]=dp[j-rgh[i][cb]]+rggpa[cb]; } dp[j]=tempans; } //for (int j=0; j<=H; ++j) // cerr<