1
已解决
汪宇航
新手启示者
新手启示者
我在洛谷月赛的C题写下了这样一个代码:
#include<bits/stdc++.h>
using namespace std;
int a[1000005],b[1000005];
__int128 ans;
int n;
void scan(int x){
x=0;
int f=1;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')
f=-1;
ch=getchar();
}
while(isdigit(ch)){
x=x*10+ch-48;
ch=getchar();
}
x*=f;
}
void print(int x){
if(x<0){
putchar('-');
x=-x;
}
if(x<10){
putchar(x+48);
return;
}
print(x/10);
putchar(x%10+48);
}
double fc(int x){
return (x-x*1.0/n)*(x-x*1.0/n);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
cin>>b[i];
for(int i=1;i<=n;i++){
int l=0;
l=max(fc(a[i]),fc(b[i]))*n*n;
ans+=l;
}
print(ans);
return 0;
}
最后发现我把方差给理解错了!
脑细胞都要耗完了!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!