結果
| 問題 |
No.2309 [Cherry 5th Tune D] 夏の先取り
|
| コンテスト | |
| ユーザー |
tnakao0123
|
| 提出日時 | 2023-06-23 16:46:57 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,156 bytes |
| コンパイル時間 | 353 ms |
| コンパイル使用メモリ | 43,332 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-06-30 20:57:13 |
| 合計ジャッジ時間 | 3,130 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 15 WA * 35 |
ソースコード
/* -*- coding: utf-8 -*-
*
* 2309.cc: No.2309 [Cherry 5th Tune D] 夏の先取り - yukicoder
*/
#include<cstdio>
#include<algorithm>
using namespace std;
/* constant */
/* typedef */
typedef long long ll;
/* global variables */
/* subroutines */
ll calc(int a, int b, int c, int x, int y, int z, int ps[]) {
ll sum = 0;
for (int i = 0; i < 3; i++) {
if (ps[i] == 0) {
int d0 = min(a, b);
sum += (ll)x * d0;
a -= d0, b -= d0;
}
else if (ps[i] == 1) {
int d1 = min(b, c);
sum += (ll)y * d1;
b -= d1, c -= d1;
}
else {
int d2 = min(c, a);
sum += (ll)z * d2;
c -= d2, a -= d2;
}
}
return sum;
}
/* main */
int main() {
int tn;
scanf("%d", &tn);
while (tn--) {
int a, b, c, x, y, z, w;
scanf("%d%d%d%d%d%d%d", &a, &b, &c, &x, &y, &z, &w);
ll maxsum = 0, sw = 0;
while (a >= 0 && b >= 0 && c >= 0) {
int ps[3] = { 0, 1, 2 };
do {
maxsum = max(maxsum, sw + calc(a, b, c, x, y, z, ps));
} while (next_permutation(ps, ps + 3));
sw += w;
a--, b--, c--;
}
printf("%lld\n", maxsum);
}
return 0;
}
tnakao0123