結果

問題 No.2093 Shio Ramen
ユーザー pengin_2000
提出日時 2022-10-07 21:32:55
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 546 bytes
コンパイル時間 1,153 ms
コンパイル使用メモリ 29,440 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-12 06:20:29
合計ジャッジ時間 1,327 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<stdio.h>
int max(int a, int b)
{
	if (a > b)
		return a;
	else
		return b;
}
int s[1003], a[1003];
int dp[1003];
int main()
{
	int n, I;
	scanf("%d %d", &n, &I);
	int i, j;
	for (i = 0; i < n; i++)
		scanf("%d %d", &s[i], &a[i]);
	for (i = 0; i <= I; i++)
		dp[i] = -1;
	dp[0] = 0;
	for (i = 0; i < n; i++)
	{
		for (j = I - s[i]; j >= 0; j--)
		{
			if (dp[j] < 0)
				continue;
			dp[j + s[i]] = max(dp[j + s[i]], dp[j] + a[i]);
		}
	}
	int ans = 0;
	for (i = 0; i <= I; i++)
		ans = max(ans, dp[i]);
	printf("%d\n", ans);
	return 0;
}
0