QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#691569#7660. Investigating Frog Behaviour on Lily Pad PatternsDung1604Compile Error//C++201.9kb2024-10-31 12:03:172024-10-31 12:03:17

Judging History

This is the latest submission verdict.

  • [2024-10-31 12:03:17]
  • Judged
  • [2024-10-31 12:03:17]
  • Submitted

answer

#include <bits/stdc++.h>
#define ll long long

#define mod 1000000007
#define inf 1000000007
using namespace std;



struct node{
    bool state = false;
    int val = inf;
};
const int limit = 800000;
node it[limit*4];
int frog[200005];
void build(int index, int L, int R){
    if(L >= R){
        it[index].val = L;
        return;
    }
    int mid = (L + R)/2;
    build(2*index, L, mid);
    build(2*index + 1, mid + 1, R);
    it[index].val = min(it[index*2].val, it[2*index + 1].val);
}
void update(int index, int L, int R, int l, int r, bool state){
    if(l > R || L > r){
        return;
    }
    if(l <= L && R <= r){
        it[index].state =state;
        if(it[index].state) it[index].val = inf;
        else it[index].val= l;
        return;
    }
    int mid = (L + R)/2;
    update(2*index, L, mid , l, r, state);
    update(2*index + 1, mid +1 , R, l, r, state);
    it[index].val = min(it[2*index].val , it[2*index +1 ].val);
}
int get(int index , int L, int R, int l, int r){
     if(l > R || L > r){
        return inf;
    }
    if(l <= L && R <= r){
        
        return it[index].val;
    }
    int mid = (L + R)/2;
    int left = get(2*index , L, mid, l,r);
    int right = get(2*index+ 1, mid + 1, R, l, r);
    return min(left, right);
}
void solve(){
    int n;
    cin >> n;
    build(1, 1, limit);
    for(int i= 1 ; i <= n; i++){
        cin >> frog[i];
        update(1, 1, limit, frog[i], frog[i], true);
    }
    int q;
    cin >> q;
    while(q--){
        int pos;
        cin >> pos;
        int cur = frog[pos];
        update(1, 1, limit, frog[pos], frog[pos], false);
        int nxt = get(1, 1,limit, cur + 1,limit  );
        cout << nxt << endl;
        frog[pos] = nxt;
        update(1, 1, limit, frog[pos], frog[pos], true);
    }
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    
    solve();
}

Details

answer.code:84:1: fatal error: error writing to /tmp/ccIHuXhg.s: File too large
   84 | }
      | ^
compilation terminated.