【CYH-02】NOIp考砸后虐题赛:成绩:题解
这道题挺送水了吧。。。
两种做法。
其实空间都不需要那么大,我来提交界面一看一堆MLE的,于是还是良心的放开了时限。
这么简单,就不做解释了。
下面放出几种代码。
代码:
两个数组:
#include<cstdio>
using namespace std;
int a[10000005],c[10000005];
int main()
{
//freopen("T1_6.in","r",stdin);
//freopen("T1_6.out","w",stdout);
int n,b;
double cnt1=0.0,cnt2=0.0,cnt3=0.0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
cnt1+=a[i];
}
for(int i=1;i<=n;i++)
{
scanf("%d",&b);
cnt2+=b;
cnt3+=a[i]-b;
}
double ans=(cnt1*3.0-cnt2*2.0)/cnt3;
printf("%lf",ans);
return 0;
}
一个数组
#include<cstdio>
using namespace std;
int a[10000005];
int main()
{
//freopen("T1_6.in","r",stdin);
//freopen("T1_6.out","w",stdout);
int n,b;
double cnt1=0.0,cnt2=0.0,cnt3=0.0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
cnt1+=a[i];
}
for(int i=1;i<=n;i++)
{
scanf("%d",&b);
cnt2+=b;
cnt3+=a[i]-b;
}
double ans=(cnt1*3.0-cnt2*2.0)/cnt3;
printf("%lf",ans);
return 0;
}
有技巧的不用数组
#include <cstdio>
using namespace std;
double n,a,b;
int main()
{
//freopen("T1_6.in","r",stdin);
//freopen("T1_6.out","w",stdout);
a=0;b=0;
scanf("%lf",&n);
for(int i=1;i<=n;i++)
{
double t;
scanf("%lf",&t);
a+=t;
}
for(int i=1;i<=n;i++)
{
double t;
scanf("%lf",&t);
b+=t;
}
printf("%.6lf\n",(3*a-2*b)/(a-b));
return 0;
}
撒花~