/* なぜか合わない */ #include #include #include #include #include #include #include using namespace std; typedef long long ll; const ll INF=1LL<<60; int main(){ int N,M; cin>>N>>M; vector A(N),B(N),P(N); for(int i=0;i>A[i]>>B[i]>>P[i]; } vector> dp(1<(M+1,-INF)); //0問正解.0回ミスしてOK for(int i=0;i<=M;i++){ dp[0][i]=0; } for(int S=0;S<(1<>k)&1)==1){ if(j>0){ double p=1.0/P[k]; dp[S][j]=max(dp[S][j], (dp[S^(1<