= TugOfWar/[이승한] = 150/200 빼고는 답이 나오긴 하지만. 분명히 틀린 알고리즘. 급기야는 오류가 보이자 땜빵으로 매꿔버리기도 하고...-_-ㅋ;; {{{~cpp #include using namespace std; const int MAX= 100; int maxToZero(int input[]); //가장큰수를 0로 바꾸어주는 함 int returnAver(int input[]); void main(){ int weight[MAX] = {0}; int outA[MAX] = {0}; int outB[MAX] = {0}; int teamA, teamB; teamA = teamB = 0; int aver = 0; int maxInInput = 0; int N = 0; int inputN = 0; int input = 0; int A, B; A = B = 0; cin>>N; //23478 for(int n = 0; n< N; n++) { cin.get(); cin>> inputN; for(input =0; input> weight[input]; } cin.get(); teamA = teamB = A = B = 0; aver = returnAver(weight); for(int cycle=0; cycle < MAX; cycle++){ maxInInput = maxToZero( weight); if( teamA + maxInInput == aver ){ teamA += maxInInput; }else if( teamB + maxInInput == aver ){ teamB += maxInInput; }else if( teamA < teamB ){ teamA += maxInInput; }else{ teamB += maxInInput;; } } outA[n] = teamA; outB[n] = teamB; } for(n=0; n