Submission #1358577

#TimeUsernameProblemLanguageResultExecution timeMemory
1358577huseyncafarliBubble Sort Machine (JOI25_bubble)C++20
0 / 100
286 ms12740 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define int ll

const int MAXN = 1e6 + 5;
const int inf = (int)2e9 + 5;
const int infll = (int)4e18 + 5;
const int mod = (int)1e9 + 7;

struct BIT {
  int n;
  vector<int> tree;
  BIT(int n) {
    this->n = n;
    tree.assign(n + 5, 0);
  }
  void update(int p, int x) {
    for(; p <= n; p += p & -p) tree[p] += x;
  }
  int query(int p) {
    int res = 0;
    for(; p > 0; p -= p & -p) res += tree[p];
    return res;
  }
  int range_query(int l, int r) {
    return query(r) - query(l - 1);
  }
};

int pref[MAXN];
void solve(){
  int n;
  cin >> n;
  vector<int> a(n + 1);
  for(int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  int mn = a[1];
  int cnt = 0;
  int prev = 0;
  for(int i = 2; i <= n; i++) {
    if(a[i] < mn) {
      pref[prev] += mn;
      pref[cnt + 1] -= mn;
      prev = cnt + 1;
      mn = a[i];
    }
    cnt++;
  }
  pref[prev] += mn;
  for(int i = 1; i <= n; i++) pref[i] += pref[i-1];
  int q;
  cin >> q;
  cnt = 0;
  while(q--) {
    int t;
    cin >> t;
    if(t == 1) cnt++;
    else {
      int l, r;
      cin >> l >> r;
      cout << pref[cnt] << endl; 
    }
  }
}

signed main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int t = 1;
  //cin >> t;
  while(t--)
    solve();
  return 0;
}

#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...