这道题要注意中位数,要保证中位数在后面大的区间中,同时要注意类型定义。
#include<stdio.h> int a[10000000]; int main() { long long t,n,k,sum,l,b; scanf("%lld",&t); for(int i=0;i<t;i++){ sum=0; scanf("%lld %lld",&n,&k); if(n==2){ for(int j=1;j<=n*k;j++){ scanf("%lld",&a[j]); if(j%2!=0){ sum+=a[j]; } } printf("%lld\n",sum); continue; } else if(n==1){ for(int j=1;j<=n*k;j++){ scanf("%lld",&a[j]); sum+=a[j]; } printf("%lld\n",sum); continue; } else{ b=0; l=0; for(int j=1;j<=n*k;j++){ scanf("%lld",&a[j]); } if(n%2!=0){ l=(n+1)/2; } else if(n%2==0){ l=n/2; } b=l-1; l=n-l+1; b*=k; b++; for(;b<=n*k;b+=l){ sum+=a[b]; } printf("%lld\n",sum); } } return 0; }