2017-04-05 11 views
-1

問題の問題へのリンク:http://codeforces.com/problemset/problem/784/FこのCodeforcesチャレンジ784Fにはどのような変更が必要ですか?

私は配列のバブルソートを使用したので、ソートの問題ではありません。しかし、私は私がそれを実行するときにうまく動作しますが、私は私の答えを提出すると、それはテスト1で拒否し続けます。私は自分のコードのために正しいコンパイラを選んだことを確認したので、それは問題ではありません。私のコードに何か問題がありますか?

は、ここに私のコードです:

int arr[10]; 

/* number of inputs */ 
int n; 
cin >> n; 

/* inputting n numbers to the array */ 
for (int i = 0; i < n; ++i) 
    cin >> arr[i]; 

/* bubble sort array */ 
for (int i = 0; i < n - 1; ++i) { 
    for (int j = 0; j < n - i - 1; ++j) { 
     if (arr[j] > arr[j+1]) { 
      int temp = arr[j]; 
      arr[j] = arr[j+1]; 
      arr[j + 1] = temp; 
     } 
    } 
} 

/* printing all the numbers in array */ 
for (int i = 0; i < n; ++i) { 
    cout << arr[i] << ' '; 
} 
cout << endl; 
+1

を?ヒント:あなたの配列は 'int arr [10]'と定義されています – Jonas

+1

それ以外の場合、なぜバブルはコードに時間制限などがあればソートされますか? 「正しいコンパイラを選んだ」とはどういう意味ですか? – deviantfan

+1

サイトを見てみると、あなたが数字をソートするために持っていますが、あなたはまた、任意の重複を削除しなければならないのではないだけようだ: 入力:3 3 1 2 出力:1 2 3 – Jonas

答えて

0

あなただけの標準ライブラリを使用、すべてあなたの自己を実装する必要はありません: 'N'が10よりも大きな値に設定されている場合はどうなりますか

// number of inputs 
int n; 
std::cin >> n; 

// Vector storing the numbers 
std::vector<int> v(n); 

// Input n numbers 
for (int i = 0; i < n; ++i) 
{ 
    std::cin >> arr[i]; 
} 

// Sort the numbers 
std::sort(v.begin(), v.end()); 

// Removed all duplicates (all numbers are unique) 
auto last = std::unique(v.begin(), v.end()); 
v.erase(last, v.end()); 

// Print all the numbers 
for (int i : v) 
    std::cout << i << ' '; 
std::cout << std::endl; 
関連する問題