#include #include #include #include #include using namespace std ; const int INF=0xfffffff ; int n,dp[50005] ; struct node { int num ; int id,rank ; }kk[50005] ; int a[50005] ; int vis[50005] ; int cmp1(node aa,node bb) { return aa.num v ; for(int i=0 ;i=dp[m])break ; dp[j]=min(dp[j],dp[i]+cnt*cnt) ; } for(int j=0 ;j