結果
| 問題 |
No.91 赤、緑、青の石
|
| コンテスト | |
| ユーザー |
ohuton_labo
|
| 提出日時 | 2014-12-10 23:49:27 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,743 bytes |
| コンパイル時間 | 562 ms |
| コンパイル使用メモリ | 67,992 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-07 03:30:38 |
| 合計ジャッジ時間 | 1,559 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 23 WA * 5 |
ソースコード
#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])/5;
data[0] -= tmp2*4;
data[1] += tmp2;
data[2] += tmp2;
if(data[0]<data[1]){
data[0] += 4;
data[1] -= 1;
data[2] -= 1;
}
}
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;
babbleSort(data,3);
while(1){
if(data[0]>=data[2]+2){
data[0] -= 2;
data[2] += 1;
}
if(data[1]>=data[2]+2){
data[1] -= 2;
data[2] += 1;
}
if(data[0] <(data[2]+2) && data[1] <(data[2] + 2)) break;
}
}
babbleSort(data,3);
cout<<data[2]<<endl;
return 0;
}
ohuton_labo