結果
問題 |
No.91 赤、緑、青の石
|
ユーザー |
![]() |
提出日時 | 2014-12-07 21:19:31 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,493 bytes |
コンパイル時間 | 680 ms |
コンパイル使用メモリ | 76,500 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-11 17:19:18 |
合計ジャッジ時間 | 3,713 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 13 WA * 15 |
ソースコード
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cstring> #include <ctime> #include <string> #include <vector> #include <stack> #include <queue> #include <map> #include <set> #include <algorithm> #include <cmath> #include <sstream> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<string> vs; #define all(c) (c).begin(), (c).end() #define loop(i,a,b) for(ll i=a; i<ll(b); i++) #define rep(i,b) loop(i,0,b) #ifdef DEBUG #define dump(...) (cerr<<#__VA_ARGS__<<" = "<<(DUMP(),__VA_ARGS__).str()<<" ["<<__LINE__<<"]"<<endl) struct DUMP:ostringstream{template<class T>DUMP &operator,(const T&t){if(this->tellp())*this<<", ";*this<<t;return *this;}}; #else #define dump(...) #endif typedef double R; const double pi = acos(-1); // 1 1 1 // 1 3 // 5 int solve(int a, int b){ int res=0; rep(i,2){ int x = min(a,b/3); res += x; a-=x; b-=x*3; swap(a,b); } res += a/5 + b/5; return res; } int main(){ int a[3]; while(cin>>a[0]){ rep(i,2)cin>>a[i+1]; int ans = 0; int m=min({a[0],a[1],a[2]}); sort(a,a+3); do{ for(int i=0;i<=m;i++){ int t = i+solve(a[1]-i,a[2]-i); ans = max(ans,t); dump(i,ans); } }while(next_permutation(a,a+3)); cout << ans << endl; } }