A:|c[1]-c[0]|
B:A+-(oc)A[0]==0..n-1
C:
#include <cstdio>
int n,m,i,j,k,p;
int ll,ca,cb,cc;
int main(){
scanf("%d%d",&n,&m);
for(;i<m;++i){
scanf("%d",&p);
scanf("%d",&ll);
++ca;
if(ll==1) while(--p){
scanf("%d",&k);
if(k==ll+1) ++ca; else break;
ll=k;
}
if(p) while(--p){
scanf("%d",&k);
}
}
printf("%d\n",(n-ca)+(m+n-ca-1));
return 0;
} D: 贪心?
E: 傻逼线段树,加个标记维护最大值即可.不写了