Submission #1224763

#TimeUsernameProblemLanguageResultExecution timeMemory
1224763PVM_pvmComparing Plants (IOI20_plants)C++20
Compilation error
0 ms0 KiB
#include "plants.h"
#include<bits/stdc++.h>
using namespace std;
#define MAXN 200'007
int prm[MAXN];
vector<int> rr;
int N;
long long segg[4*MAXN],segm[4*MAXN];
void Initialise(int ind, int l, int r)
{
    if (l==r)
    {
        segg[ind]=rr[l];
        segm[ind]=rr[l];
        return;
    }
    int mid=(l+r)/2;
    Initialise(ind*2,l,mid);
    Initialise(ind*2,mid+1,r);
    segg[ind]=max(segg[ind*2],segg[ind*2+1]);
    segm[ind]=min(segm[ind*2],segm[ind*2+1]);
}
long long qm,qg;
void Query(int ind, int l, int r, int ql, int qr)
{
    if (ql<=l && qr>=r)
    {
        qm=min(qm,segm[ind]);
        qg=min(qg,segg[ind]);
        return;
    }
    int mid=(l+r)/2;
    if (ql<=mid) Query(ind*2,l,mid,ql,qr);
    if (qr>=mid+1) Query(ind*2+1,mid+1,r,ql,qr);
}
void init(int k, vector<int> r) {
    int n=r.size();
    rr=r;
    N=n;
    Initialise(1,0,n-1);
    //for (int q=0;q<n;q++) cout<<prm[q]<<" ";
	return;
}

int compare_plants(int x, int y) {
	int obr=1;
	if (x>y)
    {
        swap(x,y);
        obr=-1;
    }
	qm=3;
	qg=-1;
	Query(1,0,n-1,x,y-1);
    if (qm==qg)
    {
        if (qm==0)
        {
            ///x e poveche ot y
            return obr;
        }
        if (qm==1)
        {
            ///x e pomalko ot y
            return -1*obr;
        }
    }
    qm=3;
    qg=-1;
    Query(1,0,n-1,y,n-1);
    if (x!=0) Query(1,0,n-1,0,x-1);
    if (qm==qg)
    {
        if (qm==0)
        {
            ///y e poveche ot x
            return -1*obr;
        }
        if (qm==1)
        {
            return obr;
        }
    }
	return 0;
}

Compilation message (stderr)

plants.cpp: In function 'int compare_plants(int, int)':
plants.cpp:54:19: error: 'n' was not declared in this scope
   54 |         Query(1,0,n-1,x,y-1);
      |                   ^