結果
問題 |
No.91 赤、緑、青の石
|
ユーザー |
![]() |
提出日時 | 2021-09-14 15:27:09 |
言語 | C (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 662 bytes |
コンパイル時間 | 131 ms |
コンパイル使用メモリ | 30,848 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-27 05:40:00 |
合計ジャッジ時間 | 1,161 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 5 WA * 23 |
ソースコード
#include <math.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int max(int x, int y) { if (x < y) return y; return x; } int main() { int r, g, b; int start = 0, end = 1e9; scanf("%d %d %d", &r, &g, &b); while (end - start > 1) { int mid = (start + end) / 2; bool ok = true; int amari = max(0, r - mid) / 2 + max(0, g - mid) / 2 + max(0, b - mid) / 2; int husoku = max(0, mid - r) + max(0, mid - g) + max(0, mid - b); if (amari * 2 < husoku) ok = false; if (ok) start = mid; else end = mid; } printf("%d\n", start); return (0); }