QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#691550#7660. Investigating Frog Behaviour on Lily Pad PatternsDung1604Compile Error//C++172.4kb2024-10-31 11:57:502024-10-31 11:57:51

Judging History

This is the latest submission verdict.

  • [2024-10-31 11:57:51]
  • Judged
  • [2024-10-31 11:57:50]
  • Submitted

answer

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

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

ll fastpow(ll n, ll x) {

	if (x == 0) {
		return 1;
	}
	else {
		ll ret = fastpow(n, x / 2);
		ret = ((ret) * (ret));
		if (x % 2 == 0) {
			return ret;
		}
		else {
			return ((ret) * (n));
		}
	}
}
bool check(ll n){
    ll first = n %10;
    while( n> 0 ){
        if(n%10 != first){
            return false;
        }
        n/=10;
    }
    return true;
}
int Log10n(int n){
    int c = -1;
    while(n > 0){
        c++;
        n/=10;
    }
    return c;
}

struct node{
    bool state = false;
    int val = inf;
};

node it[5000005];
ll 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;
    ll left = get(2*index , L, mid, l,r);
    ll right = get(2*index+ 1, mid + 1, R, l, r);
    return min(left, right);
}
void solve(){
    int n;
    cin >> n;
    build(1, 1, 1200000);
    for(int i= 1 ; i <= n; i++){
        cin >> frog[i];
        update(1, 1, 1200000, frog[i], frog[i], true);
    }
    int q;
    cin >> q;
    while(q--){
        int pos;
        cin >> pos;
        int cur = frog[pos];
        update(1, 1, 1200000, frog[pos], frog[pos], false);
        int nxt = get(1, 1,1200000, cur + 1,1200000  );
        cout << nxt << endl;
        frog[pos] = nxt;
        update(1, 1, 1200000, frog[pos], frog[pos], true);
    }
}

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

Details

answer.code:5:13: warning: overflow in conversion from ‘long int’ to ‘int’ changes value from ‘10000000007’ to ‘1410065415’ [-Woverflow]
    5 | #define inf 10000000007
      |             ^~~~~~~~~~~
answer.code:45:15: note: in expansion of macro ‘inf’
   45 |     int val = inf;
      |               ^~~
answer.code: In function ‘void update(int, int, int, int, int, bool)’:
answer.code:5:13: warning: overflow in conversion from ‘long int’ to ‘int’ changes value from ‘10000000007’ to ‘1410065415’ [-Woverflow]
    5 | #define inf 10000000007
      |             ^~~~~~~~~~~
answer.code:66:45: note: in expansion of macro ‘inf’
   66 |         if(it[index].state) it[index].val = inf;
      |                                             ^~~
answer.code: In function ‘int get(int, int, int, int, int)’:
answer.code:5:13: warning: overflow in conversion from ‘long int’ to ‘int’ changes value from ‘10000000007’ to ‘1410065415’ [-Woverflow]
    5 | #define inf 10000000007
      |             ^~~~~~~~~~~
answer.code:77:16: note: in expansion of macro ‘inf’
   77 |         return inf;
      |                ^~~
answer.code: At global scope:
answer.code:117:1: fatal error: error writing to /tmp/ccRh4cWk.s: File too large
  117 | }
      | ^
compilation terminated.