제출 #1276411

#제출 시각아이디문제언어결과실행 시간메모리
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...