Problem: 2063B - Subsequence Update
Language: C++17 (GCC 7-32)

Previous submission (verdict: Wrong answer on test 2):
#include <bits/stdc++.h>

using namespace std;



#define int long long int

#define F first

#define S second

#define pb push_back

#define si set<int>

#define vi vector<int>

#define pii pair<int, int>

#define vpi vector<pii>

#define vpp vector<pair<int, pii>>

#define mii map<int, int>

#define mpi map<pii, int>

#define spi set<pii>

#define endl "\n"

#define sz(x) ((int)x.size())

#define all(p) p.begin(), p.end()

#define double long double

#define que_max priority_queue<int>

#define que_min priority_queue<int, vi, greater<int>>

#define bug(...) __f(#__VA_ARGS__, __VA_ARGS__)

#define print(a) for (auto x : a) cout << x << " "; cout << endl

#define print1(a) for (auto x : a) cout << x.F << " " << x.S << endl

#define print2(a, x, y) for (int i = x; i < y; i++) cout << a[i] << " "; cout << endl



inline int power(int a, int b) {

    int x = 1;

    while (b) {

        if (b & 1) x *= a;

        a *= a;

        b >>= 1;

    }

    return x;

}



template <typename Arg1>

void __f(const char *name, Arg1 &&arg1) { cout << name << " : " << arg1 << endl; }

template <typename Arg1, typename... Args>

void __f(const char *names, Arg1 &&arg1, Args &&...args) {

    const char *comma = strchr(names + 1, ',');

    cout.write(names, comma - names) << " : " << arg1 << " | ";

    __f(comma + 1, args...);

}



const int N = 200005;



void solve() {

    int n,l,r;

    cin>>n>>l>>r;

    vi v(n);

    for(int i=0;i<n;i++){

        cin>>v[i];

    }



    vi v1, v2;

    for(int i=l-1;i<r;i++){

        v1.push_back(v[i]);

    }

    sort(v1.rbegin(), v1.rend());



    for(int i=0;i<l-1;i++){

        v2.push_back(v[i]);

    }



    for(int i=r;i<n;i++){

        v2.push_back(v[i]);

    }



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

    int sum = 0;

    if(v2.size() == 0){

        for(int i=0;i<v1.size();i++){

             sum+=v1[i];

        }



        cout<<sum<<endl;

        return;

    }else{

        int i=0, j=0;

        while (i < v2.size() && j < v1.size()) {

            if (v2[i] < v1[j]) {

                swap(v1[j], v2[i]);

                i++, j++;

            } else {

                break; 

            }

        }



         for(int i=0;i<v1.size();i++){

            sum+=v1[i];

         }



         cout<<sum<<endl;

         

    }



}



int32_t main() {

    ios_base::sync_with_stdio(0);

    cin.tie(0);

    cout.tie(0);



// #ifndef ONLINE_JUDGE

//     freopen("input.txt", "r", stdin);

//     freopen("output.txt", "w", stdout);

// #endif



    int t = 1;

    cin >> t;

    while (t--) solve();



    return 0;

}

Submission (verdict: Accepted):
#include <bits/stdc++.h>

using namespace std;



#define int long long int

#define F first

#define S second

#define pb push_back

#define si set<int>

#define vi vector<int>

#define pii pair<int, int>

#define vpi vector<pii>

#define vpp vector<pair<int, pii>>

#define mii map<int, int>

#define mpi map<pii, int>

#define spi set<pii>

#define endl "\n"

#define sz(x) ((int)x.size())

#define all(p) p.begin(), p.end()

#define double long double

#define que_max priority_queue<int>

#define que_min priority_queue<int, vi, greater<int>>

#define bug(...) __f(#__VA_ARGS__, __VA_ARGS__)

#define print(a) for (auto x : a) cout << x << " "; cout << endl

#define print1(a) for (auto x : a) cout << x.F << " " << x.S << endl

#define print2(a, x, y) for (int i = x; i < y; i++) cout << a[i] << " "; cout << endl



inline int power(int a, int b) {

    int x = 1;

    while (b) {

        if (b & 1) x *= a;

        a *= a;

        b >>= 1;

    }

    return x;

}



template <typename Arg1>

void __f(const char *name, Arg1 &&arg1) { cout << name << " : " << arg1 << endl; }

template <typename Arg1, typename... Args>

void __f(const char *names, Arg1 &&arg1, Args &&...args) {

    const char *comma = strchr(names + 1, ',');

    cout.write(names, comma - names) << " : " << arg1 << " | ";

    __f(comma + 1, args...);

}



const int N = 200005;



void solve() {

    int n,l,r;

    cin>>n>>l>>r;

    vi v(n);

    for(int i=0;i<n;i++){

        cin>>v[i];

    }



    vi v1, v2, v3;

    for(int i=l-1;i<r;i++){

        v1.push_back(v[i]);

    }



    for(int i=0;i<l-1;i++){

        v2.push_back(v[i]);

    }



    for(int i=r;i<n;i++){

        v3.push_back(v[i]);

    }

    

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

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

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



    int sum1 = 0, sum2 = 0;

    vi v4 = v1;

     int i=0, j = v4.size()-1;



     while(j >= 0 && i < v2.size()){

        if(v2[i] < v4[j]){

            swap(v2[i], v4[j]);

            i++, j--;

        }else{

            break;

        }

     }



     for(int i=0;i<v4.size();i++){

        sum1 += v4[i];

     }



     v4 = v1;

     i=0, j = v4.size()-1;



     while(j >= 0 && i < v3.size()){

        if(v3[i] < v4[j]){

            swap(v3[i], v4[j]);

            i++, j--;

        }else{

            break;

        }

     }



     for(int i=0;i<v4.size();i++){

        sum2 += v4[i];

     }



     cout<<min(sum1, sum2)<<endl;

}



int32_t main() {

    ios_base::sync_with_stdio(0);

    cin.tie(0);

    cout.tie(0);



// #ifndef ONLINE_JUDGE

//     freopen("input.txt", "r", stdin);

//     freopen("output.txt", "w", stdout);

// #endif



    int t = 1;

    cin >> t;

    while (t--) solve();



    return 0;

}