結果
問題 |
No.91 赤、緑、青の石
|
ユーザー |
![]() |
提出日時 | 2025-10-05 17:55:12 |
言語 | C90 (gcc 12.3.0) |
結果 |
AC
|
実行時間 | 17 ms / 5,000 ms |
コード長 | 931 bytes |
コンパイル時間 | 531 ms |
コンパイル使用メモリ | 37,572 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-10-05 17:55:14 |
合計ジャッジ時間 | 2,113 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 28 |
ソースコード
#include <stdio.h> void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } void sort(int *s) { if(s[0] > s[1]){ swap(&s[0], &s[1]); } if(s[1] > s[2]){ swap(&s[1], &s[2]); } if(s[0] > s[1]){ swap(&s[0], &s[1]); } } int main(void) { int i; int a = 0; int s[3]; scanf("%d%d%d", &s[0], &s[1], &s[2]); sort(s); /*printf("%d %d %d:%d\n\n", s[0], s[1], s[2], a);*/ a += s[0]; s[2] -= s[0]; s[1] -= s[0]; s[0] = 0; sort(s); /*printf("%d %d %d:%d\n", s[0], s[1], s[2], a);*/ while(1){ /*for(i = 0;i < 10;i++){ */ if((s[0] == 0 && s[1] == 0 && s[2] < 5) || (s[0] == 0 && s[1] == 1 && s[2] < 3) || (s[0] == 0 && s[1] == 2 && s[2] == 2)){ break; } if(s[1] == 0){ a++; s[0] = 0; s[1] = 0; s[2] -= 5; } else{ a++; s[0] = 0; s[1]--; s[2] -= 3; } sort(s); /*printf("%d %d %d:%d\n\n", s[0], s[1], s[2], a);*/ } printf("%d\n", a); return 0; }