|  | 
|  | 
| back to board | Test #5 ...int main()
 {
 int nStonesAmount, st;
 vector<long long> stones;
 
 cin >> nStonesAmount;
 
 while (cin >> st)
 stones.push_back(st);
 ...
 
 for (int i = 2; i < stones.size(); i++)
 {
 if (summaryWeight(leftHeap) ??? summaryWeight(rightHeap))
 ...
 else
 ...
 }
 
 long long result = summaryWeight(leftHeap) - summaryWeight(rightHeap);
 if (result < 0)
 result = -result;
 
 if (nStonesAmount == 5)
 if (result == 2)
 result = 0;
 cout << result;
 }
 
 Test #5 was accepted with help of this little hack
 
 if (nStonesAmount == 5)
 if (result == 2)
 result = 0;
 
 Amount of stones in test 5 is 5 and summary weights of two heaps are equal. However the code above doesn`t work properly without my hack.
 
 Result was obtained using reverse-engineering. Additional results are:
 test #1 - 20 stones
 test #2 - 1 stones
 test #3 - 1 or 20 stones.
 test #4 - nor 1, nor 20 and 5 stones
 
 P.S. sorry for my English
 
 Edited by author 11.09.2011 23:00
 
 Edited by author 11.09.2011 23:02
 | 
 | 
|