Submission #1276411

#TimeUsernameProblemLanguageResultExecution timeMemory
1276411leo_puBubble Sort Machine (JOI25_bubble)C++20
0 / 100
2095 ms17328 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
const int N=5e5+5;

int ar[N];
int t[4*N];

void build(int i, int l, int r){
    if (l==r) t[i]=ar[l];
    else {
        int m=(l+r)/2;
        build(i*2,l,m);
        build(i*2+1,m+1,r);
        t[i]=t[i*2]+t[i*2+1];
    }
}

int query(int x, int y, int i, int l, int r){
    if (r<x or l>y) return 0;
    if (l>=x && r<=y) return t[i];
    int m=(l+r)/2;
    return query(x,y,i*2,l,m)+query(x,y,i*2+1,m+1,r);
}

void update(int pos, int val, int i, int l, int r){
    if (l==r) t[i]=val;
    else {
        int m=(l+r)/2;
        if (pos<=m) update(pos,val,i*2,l,m);
        else update(pos,val,i*2+1,m+1,r);
        t[i]=t[i*2]+t[i*2+1];
    }
}

signed main(){
    ios_base::sync_with_stdio(0); cin.tie(0);

    int n;
    cin >> n;

    for (int i=1 ; i<=n ; i++) cin >> ar[i];
    build(1,1,n);

    int q;
    cin >> q;
    while (q--){
        int md;
        cin >> md;

        if (md==1){
            for (int i=1 ; i<n ; i++){
                if (ar[i]>ar[i+1]){
                    // update(i,ar[i+1],1,1,n);
                    // update(i+1,ar[i],1,1,n);
                    swap(ar[i], ar[i+1]);
                }
            }
        }
        else {
            int l,r;
            cin >> l >> r;
            cout << ar[l] << "\n";
        }
    }
}


#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...