Wrong answer in Cutting Recipes

What am I doing wrong in this problem - http://www.codechef.com/problems/RECIPE/ ?

//Cutting recipes
#include <iostream>
#include <algorithm>
using namespace std;

int gcd(int u , int v)
{
	return (v != 0) ? gcd(v,u%v) : u;
}

int main()
{
	int t;
	cin >> t;

	while(t--)
	{
		int n;
		cin >> n;
		int arr[n];
		int arr1[n];

		for(int i =0 ; i < n ;i++)
			cin >> arr[i];

		for(int i =0 ; i < n ;i++)
			arr1[i] = arr[i];

		sort(arr1,arr1+n);
		int x = gcd(arr1[0] , arr1[1]);
		bool check = true;
		for(int i = 0 ; i < n ; i++)
		{
			if(arr[i] % x != 0)
				check = false;
			break;
		}
		
		if(check == true)
		{
			for(int i = 0 ; i < n;i++)
			{
				arr[i] /= x;
				cout << arr[i] << ' ';
			}
		}
		else
		{
			for(int i = 0 ; i < n;i++)
				cout << arr[i] << ' ';
		}
		cout << endl;
	}
}