Submission #1053762

# Submission time Handle Problem Language Result Execution time Memory
1053762 2024-08-11T17:07:15 Z Osplei Sorting (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;

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

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

  if (N == 1) {
    
    P[0] = 0;
    Q[0] = 0;

    return 0;
  }

  if (S[0] != orden[0]){
    ans++;

    swap(S[0], S[1]);

    for (int j = 0; j < N; j++) {
      if (orden[0] == S[j]) {

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

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

        pos++;

        break;
      }
    }

    if (S[1] != orden[1]) {
      ans++;

      swap(S[0], S[1]);

      for (int j = 2; j < N; j++) {
        if (orden[1] == S[j]) {

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

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

          pos++;

          break;
        }
      }
    }
  }

  for (int i = 1; i < N; i++) {

    if (orden[i] != S[i]) {
      
      ans++;
      
      swap(S[0], S[1]);
      
      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 (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[]) {
      |                                   ~~~~^
sorting.cpp:11:46: warning: unused parameter 'X' [-Wunused-parameter]
   11 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                          ~~~~^~~
sorting.cpp:11:55: warning: unused parameter 'Y' [-Wunused-parameter]
   11 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                                   ~~~~^~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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 -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -