結果

問題 No.490 yukiソート
ユーザー MaxMellon
提出日時 2017-07-02 14:29:59
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 845 bytes
コンパイル時間 439 ms
コンパイル使用メモリ 65,916 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-10-05 07:33:32
合計ジャッジ時間 1,348 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 1
other AC * 4 WA * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>

using namespace std;

void my_swap(int arr[], int p1, int p2);
bool my_order(int arr[], int p1, int p2);
void if_swap(int arr[], int p1, int p2);

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

  int j = 0;
  for (int i = 0; i < 2 * n - 3; i++) {
    if (j > n - 1) break;
    for (int k = 0; k < j; k++) {
      if (j + k == i) {
        if_swap(arr, j, k);
      }
      j++;
    }
  }

  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
}

void if_swap(int arr[], int p1, int p2) {
  if (my_order(arr, p1, p2) == true) {
    my_swap(arr, p1, p2);
  }
}

bool my_order(int arr[], int p1, int p2) {
  return arr[p1] <= arr[p2];
}

void my_swap(int arr[], int p1, int p2) {
  int tmp = arr[p1];
  arr[p1] = arr[p2];
  arr[p2] = tmp;
}
0