結果

問題 No.91 赤、緑、青の石
ユーザー suppy193
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
}
0