#include #include using namespace std; const int MAX=2001; const int MAXINT=999999999; struct point { int x1,x2; int length; }sq[MAX]; int map[MAX][MAX]; int visit[MAX]; int dist[MAX]; int n,m; void Dijkstra() { for(int i=1;i<=n;i++) { visit[i]=0; dist[i]=map[1][i]; } visit[1]=1; int k,min; for(int i=1;i=sq[j].x1&&sq[i].x2<=sq[j].x2) map[i][j]=sq[j].length; Dijkstra(); int T; for(int i=1;i<=m;i++) { scanf("%d",&T); if(dist[T]==MAXINT) printf("-1\n"); else printf("%d\n",sq[1].length+dist[T]); } } return 0; }