結果

問題 No.2386 Udon Coupon (Easy)
コンテスト
ユーザー polylogK
提出日時 2023-08-02 23:18:45
言語 C++17
(gcc 15.2.0 + boost 1.90.0)
コンパイル:
g++-15 -O2 -lm -std=c++17 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 847 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,276 ms
コンパイル使用メモリ 211,204 KB
実行使用メモリ 6,528 KB
最終ジャッジ日時 2026-07-01 22:41:17
合計ジャッジ時間 2,664 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 29 WA * 8
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <bits/stdc++.h>
using namespace std::literals::string_literals;
using i64 = std::int_fast64_t;
using std::cout;
using std::cerr;
using std::endl;
using std::cin;

#if defined(DONLINE_JUDGE)
	#define NDEBUG
#elif defined(ONLINE_JUDGE)
	#define NDEBUG
#endif

template<typename T> std::vector<T> make_v(size_t a){return std::vector<T>(a);}
template<typename T, typename... Ts> auto make_v(size_t a, Ts... ts){
  return std::vector<decltype(make_v<T>(ts...))>(a, make_v<T>(ts...));
}

int main() {
	int n, a, b, c; scanf("%d%d%d%d", &n, &a, &b, &c);

	std::vector<int> dp(n + 11);
	for (int i = 0; i < n; ++i) {
		dp[i + 3] = std::max(dp[i + 3], dp[i] + a);
		dp[i + 5] = std::max(dp[i + 5], dp[i] + b);
		dp[i + 11] = std::max(dp[i + 10], dp[i] + c);
	}

	printf("%lld\n", *std::max_element(dp.begin(), dp.begin() + (n + 1)));
	return 0;
}
0