結果
問題 | No.91 赤、緑、青の石 |
ユーザー |
![]() |
提出日時 | 2017-03-14 22:05:43 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 15 ms / 5,000 ms |
コード長 | 1,210 bytes |
コンパイル時間 | 772 ms |
コンパイル使用メモリ | 93,020 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-24 07:04:25 |
合計ジャッジ時間 | 1,870 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 28 |
ソースコード
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <algorithm>#include <utility>#include <functional>#include <cstring>#include <queue>#include <stack>#include <math.h>#include <iterator>#include <vector>#include <string>#include <set>#include <math.h>#include <iostream>#include<map>#include <iomanip>#include <time.h>#include <random>#include <stdlib.h>#include <list>#include <typeinfo>#include <list>#include <set>using namespace std;#define LONG_INF 10000000000000000#define MAX_MOD 1000000007#define REP(i,n) for(long long i = 0;i < n;++i)int main() {long long a, b, c;cin >> a >> b >> c;long long ans = min(a,min(b, c));a -= ans;b -= ans;c -= ans;if (a > b) {swap(a, b);}if (b > c) {swap(b, c);}if (a > b) {swap(a, b);}if (b > c) {swap(b, c);}long long pre_ans = 0;for (int i = 0;i < b+1;++i) {long long hogee = i;long long copy_b = b, copy_c = c;copy_b -= hogee;copy_c -= 3 * hogee;if (copy_b < 0 || copy_c < 0) break;hogee = min(copy_c, copy_b / 3);copy_b -= hogee * 3;copy_c -= hogee;pre_ans = max(pre_ans, i + hogee + copy_b / 5 + copy_c / 5);}cout << pre_ans + ans << endl;return 0;}