PHCUL - Solution failing tasks #0 & #2

Can someone tell me what I missed with my solution:
Its failing tasks #0 & #2 that is one from each set constraint test

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

#include <bits/stdc++.h>
using namespace std;
const float INF=1e9+5;
int main() {
int t;
cin>>t;
while(t–) {
int x,y;
cin>>x>>y;
int m,n,k;
cin>>m>>n>>k;
vector mtok(m,0);
vector ntok(n,0);
vector mtontok(m,0);
vector ntomtok(n,0);
int mx[m],nx[n],kx[k],my[m],ny[n],ky[k];
for(int i=0;i<m;++i) {
cin>>mx[i]>>my[i];
}
for(int i=0;i<n;++i) {
cin>>nx[i]>>ny[i];
}
for(int i=0;i<k;++i) {
cin>>kx[i]>>ky[i];
}
double min=INF;

    for(int i=0;i<m;++i) {
        min=INF;
        for(int j=0;j<k;++j) {
            double d= sqrt(pow(mx[i]-kx[j],2)+pow(my[i]-ky[j],2));
            min = d<min?d:min;
        }
        mtok[i]=min;
    }
    for(int i=0;i<n;++i) {
        min=INF;
        for(int j=0;j<k;++j) {
            double d= sqrt(pow(nx[i]-kx[j],2)+pow(ny[i]-ky[j],2));
            min = d<min?d:min;
        }
        ntok[i]=min;
    }
    for(int i=0;i<m;++i) {
        min=INF;
        for(int j=0;j<n;++j) {
            double d= sqrt(pow(mx[i]-nx[j],2)+pow(my[i]-ny[j],2))+ntok[j];
            min = d<min?d:min;
        }
        mtontok[i]=min;
    }
    for(int i=0;i<n;++i) {
        min=INF;
        for(int j=0;j<m;++j) {
            double d= sqrt(pow(nx[i]-mx[j],2)+pow(ny[i]-my[j],2))+mtok[j];
            min = d<min?d:min;
        }
        ntomtok[i]=min;
    }
    min=INF;
    for(int i=0;i<m;++i) {
        for(int j=0;j<n;++j) {
            double d1 = sqrt(pow(mx[i]-x,2)+pow(my[i]-y,2))+mtontok[i];
            double d2 = sqrt(pow(nx[j]-x,2)+pow(ny[j]-y,2))+ntomtok[j];
            min = min<d1?min:d1;
            min = min<d2?min:d2;
        }
    }
    printf("%.10f\n",min);
}

}

My code worked after switching to long double for distance calculations.
https://www.codechef.com/viewsolution/27793151

Edit: Your INF define is too small.

Thanks! It worked once I increased INF. :slight_smile: