結果

問題 No.91 赤、緑、青の石
ユーザー suppy193
提出日時 2016-11-10 13:37:29
言語 C90
(gcc 12.3.0)
結果
TLE  
実行時間 -
コード長 811 bytes
コンパイル時間 195 ms
コンパイル使用メモリ 21,248 KB
実行使用メモリ 8,224 KB
最終ジャッジ日時 2024-11-25 07:09:20
合計ジャッジ時間 37,404 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 22 TLE * 6
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:28:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   28 |         scanf("%d%d%d", &s[0], &s[1], &s[2]);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ソースコード

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){
		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;
		}
		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