Zombies and caves (ZOMCAV)

#include <bits/stdc++.h>

using namespace std;
//#define int long long int
bool areEqual(int arr1[], int arr2[], int n)
{
sort(arr1, arr1 + n);
sort(arr2, arr2 + n);

for (int i = 1; i <=n; i++) 
    if (arr1[i] != arr2[i]) 
        return false;

return true; 

}

int main() {
int t;cin>>t;while(t–){
ios_base:: sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int n,i,j;
cin>>n;
int a[100], b[100]={0},c[100];

for(int i=1;i<=n;i++){
    cin>>a[i];
}
 for(int k=1;k<=n;k++){
    cin>>c[k];
}

for(i=1;i<=n;i++){
int rt=i+a[i];
int lf=i-a[i];
if(lf<=1){
lf=1;
}
if(rt>=n){
rt=n;
}
for(j=lf;j<=rt;j++){

    b[j]++;
}

}

if (areEqual(a, b, n)) 
    cout << "YES"; 
else
    cout << "NO";

cout<<endl;
}

return 0;

}

i think this approach will get you TLE for original constraints if i am correct. so it’s better if you use difference array concept to optimize your code.

1 Like