Submission #976616

#TimeUsernameProblemLanguageResultExecution timeMemory
976616raul2008487Xor Sort (eJOI20_xorsort)C++17
25 / 100
91 ms19784 KiB
#include <bits/stdc++.h> // #include <ext/pb_ds/assoc_container.hpp> // #include <ext/pb_ds/tree_policy.hpp> #define ll long long #define pb push_back #define vl vector<ll> #define fi first #define se second #define in insert #define all(v) v.begin(), v.end() #define bpc(x) __builtin_popcount(x) #define endl "\n" using namespace std; const ll inf = 1e18; const ll mod = 1e9 + 7; const int sz = 4e5 + 5; const int LG = 21; // using namespace __gnu_pbds; // tree <ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> rbt; vector<array<ll, 2>> res; void makeswap(ll x, ll y){ res.pb({y, x}); res.pb({x, y}); res.pb({y, x}); } void solve(){ ll n, S, i, j; cin >> n >> S; S = (S - 1) ^ 1; vl v(n); for(i = 0; i < n; i++){ cin >> v[i]; } for(i = 0; i < (n - 1); i++){ for(j = 0; j < n - i - 1; j++){ if((v[j] + S) > v[j + 1]){ makeswap(j + 1, j + 2); swap(v[j], v[j + 1]); } } } cout << res.size() << endl; for(array<ll, 2> x: res){ cout << x[0] << ' ' << x[1] << endl; } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll t = 1; // cin >> t; while(t--){ solve(); } } /* 4 100 10 30 30 70 20 40 60 20 4 100 60 20 10 30 20 40 30 70 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...