Opening a discussion here for the latest Cook off XD

From Div 2:

I solved first two questions and can somebody explain me rest three questions.

A solution was create an array of size 1e5 and fill it up with multiples of the elements of A array, then find the largest gap between them.

B solution was counting the number of factors of abs(a-b). (which were the roll numbers of the two kids).

I am sorry if i am unable to provide proofs for the solution but i will elaborate them a bit later

# Cook Off Discuss (COOK114)

The largest gap will be equal to the minimum of the numbers in the list.

anyone done this with logic!

which question are you talking about?

solution of A : min element in the given array.

p

Put the logic aside.You haven’t checked any of the constraints.U straight away declared everything as int and fixed the array sizes to be 100.

what is logic for [Range AND] ? i did like finding nearest 2 power element of L and doing ans with loop continution until that nearest number. but i am getting TLE can anyone explain

see, what i have thought the logic,

we have something common from 2-3,4-7,8-15,16-31…

can you find any order,

yes, 2^n to 2^n-1,

so next is, if we are given Left =5, and right =10,

then we will find our range of Left, it comes under 4-7.

now, the above of 7 will all be zero(5^6^7^8=0 as they don’t have common bit same),

we gave name near=4, and next=7. now,

we will check if right<=next, if yes, then (right-left)*near+left;

else, (right-next)*near+left;

this is my logic. but i am getting wrong answer. but it should be correct.

```
chef chick
#include<iostream>
using namespace std;
int main(){
int t,i,j;
cin>>t;
long long int min[t];
int n[t];
for(i=0;i<t;i++){
cin>>n[i];
long long int a[t][i];
for(j=0;j<n[i];j++){
cin>>a[i][j];
}
if (n[i]==1)
cout<<a[i][0];
min[i]=a[i][0];
for(j=1;j<n[i];j++){
if (a[i][j]<a[i][j-1])
min[i]=a[i][j];
}
cout<<min[i]<<endl;
}
return 0;
}
```

please format your code

what .

go and edit your code,

Ctrl+A

Ctrl+shift+C

then reply.

```
#include<iostream>
using namespace std;
int main(){
int t,i,j;
cin>>t;
long long int min[t];
int n[t];
for(i=0;i<t;i++){
cin>>n[i];
long long int a[t][i];
for(j=0;j<n[i];j++){
cin>>a[i][j];
}
if (n[i]==1)
cout<<a[i][0];
min[i]=a[i][0];
for(j=1;j<n[i];j++){
if (a[i][j]<a[i][j-1])
min[i]=a[i][j];
}
cout<<min[i]<<endl;
}
return 0;
}
```

Status Wrong Answer

you have to run code for t test cases…

```
runtime error
#include<iostream>
using namespace std;
int main(){
int t,i,j;
cin>>t;
long long int min[t];
int n[t];
for(i=0;i<t;i++){
cin>>n[i];
}
long long int a[t][102];
for(i=0;i<t;i++){
for(j=0;j<n[i];j++){
cin>>a[i][j];
}
}
for(i=0;i<t;i++){
if (n[i]==1)
cout<<a[i][0];
min[i]=a[i][0];
for(j=1;j<n[i];j++){
if (a[i][j]<a[i][j-1])
min[i]=a[i][j];
}
cout<<min[i]<<endl;
}
return 0;
}
```

https://www.codechef.com/viewsolution/29083196

Hello!

Check out this solution

```
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int a[n],ans=INF;
for(int i=0,i<n;i++) cin>>a[i],ans=min(a[i],ans);
cout<<ans<<'\n';
}
```