답안 #1053755

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1053755 2024-08-11T16:59:20 Z Osplei 정렬하기 (IOI15_sorting) C++17
0 / 100
1 ms 348 KB
#include "sorting.h"
#include <bits/stdc++.h>

using namespace std;

#define pb push_back

typedef long long ll;
typedef pair <ll, ll> LL;

int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {

  vector <int> orden;
  int ans = 0, pos = 0;
  bool ec = false;

  for (int i = 0; i < N; i++) {
    orden.pb(S[i]);
  }

  sort(orden.begin(), orden.end());

  for (int i = 0; i < N; i++) {
    
    if (orden[i] != S[i]) {
    
      if (i == 1) {
        ec = true;
        i = 0;
      }
      
      ans++;
      
      swap(S[X[pos]], S[Y[pos]]);
      
      for (int j = i; j < N; j++) {
        if (orden[i] == S[j]) {

          swap(S[i], S[j]);

          P[pos] = i;
          Q[pos] = j;

          pos++;

          break;
        }
      }
    }

    if (ec == true) {
      i = 1;
      ec = false;
    }
  }

  if (S[0] > S[1]) {
    ans++;
    P[pos] = 0;
    Q[pos] = 1;
    pos++;
  } 

  return ans;
}

Compilation message

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:11:39: warning: unused parameter 'M' [-Wunused-parameter]
   11 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                   ~~~~^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Incorrect 0 ms 348 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Incorrect 0 ms 348 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Incorrect 0 ms 348 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -