問題A Event Planning

練習会では入力形式が複数テストケースに変更されているので上記のオンラインジャッジで正解するには入力部分のコードを少し書きなおす必要があります。

解法

全探索しましょう。C++ならmax_elementを使うと少しコードが短くなります。


コード(C++)

#include <iostream>
#include <algorithm>
using namespace std;

int main(){
	int N, B, H, W, p, a[14];
	while( cin >> N >> B >> H >> W , N || B || H || W ){
		int ans = 1e+8;
		for(int i = 0 ; i < H ; i++ ){
			cin >> p;
			for(int j = 0 ; j < W ; j++ ){
				cin >> a[j];
			}
			if( N <= *max_element(a, a + W) ){
				ans = min(ans, p * N);
			}
		}
		if( ans <= B ){
			cout << ans << endl;
		}else{
			cout << "stay home" << endl;
		}
	}
}