题目链接
#include
#include
#include
#include
using namespace std;
//#define int long long
const int N = 100010;
int tr[N];
int n,m;
int lowbit(int x)
{
return x&-x;
}
void add(int x,int v)
{
for(int i=x;i<=n;i+=lowbit(i))tr[i]+=v;
}
int query(int x)
{
int res=0;
for(int i=x;i;i-=lowbit(i))res+=tr[i];
return res;
}
signed main()
{
cin>>n;
int res=0;
for(int i=1;i<=n;i++)
{
int x;scanf("%d",&x);
res+=query(n)-query(x);
add(x,1);
}
res=res&1;
cin>>m;
while(m--)
{
int l,r;
scanf("%d%d",&l,&r);
int t=(r-l)*(r-l+1)>>1;
res^=t&1;
if(res)printf("disliken");
else printf("liken");
}
}