結果
| 問題 | 
                            No.91 赤、緑、青の石
                             | 
                    
| コンテスト | |
| ユーザー | 
                             ohuton_labo
                         | 
                    
| 提出日時 | 2014-12-10 23:41:20 | 
| 言語 | C++11(廃止可能性あり)  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,491 bytes | 
| コンパイル時間 | 483 ms | 
| コンパイル使用メモリ | 67,560 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-06-11 20:33:33 | 
| 合計ジャッジ時間 | 1,292 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 WA * 1 | 
| other | AC * 18 WA * 10 | 
ソースコード
#include <iostream>
#include <stack>
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
#include <stdlib.h>
#include <math.h>
using namespace std;
/*
cin.ignore();
	getline(cin,dataStr);
	data = new int[n];
	stringToInteger(&dataStr,data,n);
*/
void stringToInteger(string *str,int *data,int n){
	for(int i=0;i<n;i++){
		int spaceN = str->find(' ',0);
		data[i] = atoi(str->substr(0,spaceN).c_str());
		str->erase(0,spaceN+1);
	}
}
void swap(int *a,int *b){
	int tmp = *a;
	*a = *b;
	*b = tmp;
}
void babbleSort(int *data,int n){
	for(int i=0;i<n;i++){
		for(int j=n-1;j>i;j--){
			if(data[j]>=data[j-1]){
				swap(&data[j],&data[j-1]);
			}
		}
	}
}
int main(){
	int data[3];
	cin>>data[0]>>data[1]>>data[2];
	//0:biggest 2:smallest
	babbleSort(data,3);
	int tmp = data[1]-data[2];
	if(data[0] - tmp*2 >= data[2]){
		data[0] -= tmp*2;
		data[2] += tmp;
		int tmp2 = (data[0]-data[2])/10;
		data[0] -= tmp2*8;
		data[1] += tmp2*2;
		data[2] += tmp2*2;
	}
	else{
		tmp = data[0] - data[1];
		if(tmp%2 ==0){
			data[0] -= tmp;
			data[2] += tmp/2;
		}
		else{
			data[0] -= (tmp-1);
			data[2] += (tmp+1)/2;
		}
		int tmp2 = (data[0] - data[2])/4;
		data[0] -= tmp2*2;
		data[1] -= tmp2*2;
		data[2] += tmp2*2;
		/*
		if(data[1]<data[2]){
			data[2] -= 1;
			data[1] += 2;
		}
		*/
	}
	babbleSort(data,3);
	cout<<data[2]<<endl;
	return 0;
}
            
            
            
        
            
ohuton_labo