Submission #466696

#TimeUsernameProblemLanguageResultExecution timeMemory
466696Clan328Xor Sort (eJOI20_xorsort)C++17
25 / 100
11 ms1240 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define nL '\n' #define all(x) (x).begin(), (x).end() typedef long long ll; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<ll> vl; typedef vector<vl> vvl; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<pii> vpii; typedef vector<pll> vpll; bool isWrong(int a, int b, int s) { if (s == 1) return a >= b; return b >= a; } int main() { #ifdef LOCAL freopen("io/input.txt", "r", stdin); freopen("io/output.txt", "w", stdout); #endif ios::sync_with_stdio(0); cin.tie(0); int n, s; cin >> n >> s; vi a(n); for (int i = 0; i < n; i++) cin >> a[i]; vpii res; for (int i = 0; i < n-1; i++) { for (int j = 0; j < n-i-1; j++) { if (isWrong(a[j], a[j+1], s)) { res.pb({j+1, j}); a[j+1] = a[j]^a[j+1]; res.pb({j, j+1}); a[j] = a[j]^a[j+1]; res.pb({j+1, j}); a[j+1] = a[j]^a[j+1]; } } } cout << res.size() << nL; for (int i = 0; i < res.size(); i++) cout << res[i].first+1 << " " << res[i].second+1 << nL; return 0; }

Compilation message (stderr)

xorsort.cpp: In function 'int main()':
xorsort.cpp:55:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |  for (int i = 0; i < res.size(); i++)
      |                  ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...