分有偶数边和没有偶数边两种情况
int t,n,m;intmain(){scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);if(n*m%2==0)W(n*m/2);elseW(n*m/2+1);}return0;}
B - Maria Breaks the Self-isolation
显然第一步为排序,排完之后倒序找符合条件的最后一个人
一步将他及之前的人全部加入主人家中就是最优
int t,n,a[maxn];intmain(){scanf("%d",&t);while(t--){scanf("%d",&n);rep(i,1,n)scanf("%d",&a[i]);sort(a+1,a+1+n);for(int i=n;i>=0;i--){if(a[i]<=i){W(i+1);break;}}}return0;}
C - Celex Update
不会证明,从1×1写到4×4找出了规律
int t;
ll a,b,c,d;intmain(){scanf("%d",&t);while(t--){scanf("%lld%lld%lld%lld",&a,&b,&c,&d);
ll minn=min(c-a,d-b)+1;
ll maxx=max(c-a,d-b)+1;if(minn==1)W(1);elseWW(maxx+(minn-2)*(maxx-1));}return0;}