結果
問題 |
No.91 赤、緑、青の石
|
ユーザー |
![]() |
提出日時 | 2017-07-04 20:56:17 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 466 bytes |
コンパイル時間 | 1,486 ms |
コンパイル使用メモリ | 166,456 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-24 07:07:40 |
合計ジャッジ時間 | 2,428 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 28 |
ソースコード
#include <bits/stdc++.h> #define p(s) cout<<(s)<<endl typedef long long ll; using namespace std; ll R,G,B; bool C(ll mid){ ll num = 0; if(R > mid) num+=(R-mid)/2; if(G > mid) num+=(G-mid)/2; if(B > mid) num+=(B-mid)/2; if(mid-R > 0) num-=mid-R; if(mid-G > 0) num-=mid-G; if(mid-B > 0) num-=mid-B; return num>=0; } int main(){ cin>>R>>G>>B; ll lb=0,ub=1e8; while(ub-lb>1){ ll mid=(lb+ub)/2; if(C(mid)) lb=mid; else ub=mid; } p(lb); return 0; }