这道题要注意中位数,要保证中位数在后面大的区间中,同时要注意类型定义。
#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;
} 


京公网安备 11010502036488号