请问,为什么我的样例通过,但是只有四十分啊

P5719 【深基4.例3】分类平均

STONEONE @ 2024-12-16 16:45:49

int n,k; double a[1000] = {0}; double b[1000] = {0}; double A=0,B=0; int c=0,d=0;

scanf("%d %d",&n,&k);

int i;
for(i=0;i<n;i++)
if((i+1)%k==0){
    a[c]=i+1;
    c++;
}
else{
    b[d]=i+1;
    d++;
}
for(i=0;i<c;i++)
{
    A += a[i];
}
for(i=0;i<d;i++)
{
    B += b[i];
}
printf("%.1f %.1f",c>0 ? A/c : 0, d>0 ? B/d : 0);
return 0;

by markeoeitwupp @ 2024-12-16 17:00:32

死因:数组小了

#include <bits/stdc++.h>
using namespace std;

int n,k; double a[10000] = {0}; double b[10000] = {0}; double A=0,B=0; long long c=0,d=0;
int main(){scanf("%d %d",&n,&k);

int i;
for(i=0;i<n;i++)
if((i+1)%k==0){
    a[c]=i+1;
    c++;
}
else{
    b[d]=i+1;
    d++;
}
for(i=0;i<c;i++)
{
    A += a[i];
}
for(i=0;i<d;i++)
{
    B += b[i];
}
printf("%.1f %.1f",c>0 ? A/c : 0, d>0 ? B/d : 0);
return 0;
}

1000不够10000存


|