結果

問題 No.818 Dinner time
ユーザー CuriousFairy315
提出日時 2019-04-13 23:28:43
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 57 ms / 2,000 ms
コード長 717 bytes
コンパイル時間 473 ms
コンパイル使用メモリ 63,616 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-29 23:25:56
合計ジャッジ時間 2,377 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<cstdint>
using namespace std; // 575

const int64_t INF = 3e16;//4611686018427387903; // 10^62-1、使わない辺とかに用いる
int main() {
	int64_t N, M, A, B;
	cin >> N >> M >> A >> B;
	int64_t everyday = max(max(A, B) + A * (M - 1), B), oneday = -INF, nothanks = -INF; // 1番目の鶏は固定で選ばれる
	while (--N) {
		cin >> A >> B;
		nothanks = max(max(everyday, oneday), nothanks); // 選ばない
		oneday = max(everyday, oneday) + max(A, B); // 初日のみ
		everyday = everyday + max(max(A, B) + A * (M - 1), B); // 毎日選ぶ(毎日卵、最後の日だけ鶏肉、初日で殺す、の3択)
	}
	cout << max(max(everyday, oneday), nothanks) << endl;
	return 0;
}
0