結果
問題 | No.914 Omiyage |
ユーザー |
|
提出日時 | 2019-10-25 21:38:30 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 984 bytes |
コンパイル時間 | 1,640 ms |
コンパイル使用メモリ | 171,512 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-24 16:26:24 |
合計ジャッジ時間 | 2,374 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define FOR(i, m, n) for(int (i) = (m); (i) < (n); (i)++)#define rep(i, n) FOR(i, 0, n)#define co(n) cout << (n) << endl#define cosp(n) cout << (n) << ' '#define all(s) (s).begin(), (s).end()#define pb push_back#define mp make_pair#define fs first#define sc secondtypedef long long ll;typedef pair<int, int> P;const ll INF = 1e9+1;const ll LINF = 1e18+1;const ll MOD = 1e9+7;//const ll MOD = 998244353;bool dp[10][501] = {};int main(void){int n, m, k;cin >> n >> m >> k;vector<vector<int> > a(n, vector<int>(m));rep(i, n){rep(j, m) cin >> a[i][j];}rep(i, m){if(a[0][i] <= k){dp[0][a[0][i]] = true;}}FOR(i, 1, n){rep(j, m){rep(h, k-a[i][j]+1){if(dp[i-1][h]){dp[i][h+a[i][j]] = true;}}}}/*rep(i, n){rep(j, k) cosp(dp[i][j]);cout << endl;}*/for(int i = k; i > 0; i--){if(dp[n-1][i]){co(k-i);return 0;}}co(-1);return 0;}