#include #include #include using namespace std; int T,n,l[1005],r[1005],f[1005][4],g[4005],w[4005]; const int inf=1e9+10; int tot,tt; struct My{ int num,name,lei; }my[4005]; int comp(My x,My y) { return x.num0&&k>=j-3;k--) { g[j]=min(g[j],g[k]+((w[j]-w[k]+1)/2)); // printf("g[%d]<-%d(g[%d])\n",j,g[k]+((w[j]-w[k]+1)/2),k); } for(int j=tt;j>=1;j--) for(int k=j+1;k<=tt&&k<=j+3;k++) { g[j]=min(g[j],g[k]+((w[k]-w[j]+1)/2)); // printf("g[%d]<-%d(g[%d])\n",j,g[k]+((w[k]-w[j]+1)/2),k); } for(int j=1;j