Why i am getting wrong answer in PLYFIT

below give code is for easy problem PLYFIT and i think my approach and understanding is right but i am getting the wrong answer.
could you plz point me out the problem or maybe corner test case.

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define MAXI INT_MAX
#define MINI INT_MIN
#define din(t) long long t;cin>>t;
#define fi(i,l,r,d) for(i = l; i < r; i+=d)
#define fd(i,l,r,d) for(i = l-1; i >= r; i-=d)
int main(){
ll t;
scanf("%lld",&t);
while(t–){
ll n;
scanf("%lld",&n);
ll arr[n]={0};
ll i,mini,ans=0;
fi(i,0,n,1)scanf("%lld",&arr[i]);
ll maxdiff=(arr[1]-arr[0]);
mini=arr[0];
fi(i,1,n,1){
if(arr[i]-mini>maxdiff)maxdiff=arr[i]-mini;
if(arr[i]<mini)mini=arr[i];
}
if(maxdiff>0)printf("%lld\n",maxdiff);
else printf(“UNFIT\n”);
}
}

Hey bro,
I would suggest you not to ask directly of what’s wrong in your code.
If you are going wrong for some problem, try to solve that by your own self. This way, if someone else points out the bug, it would be mere spoon-feeding and you won’t learn much.
No harsh words / feelings.
Best of luck!