/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 1ms 532.0 KiB
#4 Wrong Answer 1ms 532.0 KiB
#5 Wrong Answer 1ms 324.0 KiB

Code

/* 
 *   @author:- MAHMUDUL HASAN SAKIB
 *   DATE & TIME :- 2024-11-05 20:29:13
 *   BANGLADESH , SYLHET.
 */ 
#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <chrono>
#include <cmath>
#include <complex>
#include <deque>
#include <forward_list>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iostream>
#include <limits>
#include <list>
#include <map>
#include <memory>
#include <numeric>
#include <optional>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <tuple>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
using namespace std;
#define fi first
#define se second
#define endl '\n'
#define ll long long
#define ull unsigned long long
#define ld long double
#define PI acos(-1.0)
#define pb push_back
#define mp make_pair
#define vi vector<ll>
#define maxn 500005
#define mod 1000000007
#define inf 1000000007
#define pii pair<ll,ll>
#define vii vector<pii>
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()
#define lcm(a,b) ((a*b)/__gcd(a,b));
#define srt(v) sort(v.begin(),v.end())
#define rsrt(v) sort(v.rbegin(),v.rend())
#define setbits(x) __builtin_popcountll(x)
#define rep(i, a, b) for(ll i = (a); i < (b); i++)
#define per(i, a, b) for(int i = (a); i >= (b); i--)
#define rev_str(str) reverse(str.begin(),str.end());
#define print(v) for(auto e:v) cout<<e<<" "; cout<<endl;
#define sum(a) (accumulate((a).begin(), (a).end(), 0LL))
#define printp(v) for(auto e:v) cout<<e.first<<" "<<e.second<<endl;
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
bool sortByValue(const pair<int, int>& a, const pair<int, int>& b) {return a.second > b.second;}
const int N= 1e5+10;
void solve(){
    ll n,k;cin>>n>>k;
    vi p(n),q;
    vii ji;
    map<ll,ll>mp;
    rep(i,0,n) {
        cin>>p[i];
        mp[p[i]]=i;
    }
    q=p;
    srt(q);
    bool ok = false;
    ll cnt =0;
    rep(i,0,n){
        if(p[i]!=q[i] && ok == false){
            ok = true;
            ll na = mp[q[i]];
            ji.emplace_back(i+1,na+1);
            swap(p[i],p[na]);
            cnt++;
            //print(p);
            if(cnt>k-1){
                cout<<"NO"<<endl;
                return;
            }
        }
        else if(p[i]!=q[i] && ok == true){
            ll na = mp[q[i]];
            ji.emplace_back(i+1,na+1);
            swap(p[i],p[na]);
            //print(p);
            cnt++;
            if(cnt>k-1){
                cout<<"NO"<<endl;
                return;
            } 
        }
        else if(ok && p[i]==q[i]){
            //cout<<p[i]<<endl;
            //print(p);
            if(is_sorted(all(p))){
                break;
            }
            cnt++;
            if(cnt>k-1){
                cout<<"NO"<<endl;
                return;
            }
        }
        //print(p);
    }
    cout<<"YES"<<endl;
    printp(ji);
}

int main() {
    fast
    ll t = 1;//cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}   

Information

Submit By
Type
Submission
Problem
P1120 Stairway to the Skyline
Contest
Brain Booster #7
Language
C++17 (G++ 13.2.0)
Submit At
2024-11-05 16:35:38
Judged At
2024-11-05 16:35:38
Judged By
Score
6
Total Time
1ms
Peak Memory
532.0 KiB