只有第三个过了。。第二个只有90.。
第三题
int main(){
int n;
int t[500005];
scanf("%d",&n);
int index=-1; //第一个大于等于0数字下标
for(int i=0;i<n;i++){
int x;
scanf("%d",&t[i]);
}
sort(fu,fu+n);
long long ans=0;
for(int i=0;i<n;i++){
if(t[i]>=0){
index=i;
break;
}
}
if(index!=-1){ //有正数情况
ans=t[index];
for(int i=index+1;i<n;i++){
if(i==n-1) ans=t[i]-ans;
else ans-=t[i];
}
for(int i=0;i<index;i++){
ans-=t[i];
}
}
else{ //全负数情况
ans=fu[n-1];
for(int i=n-2;i>=0;i--){
ans-=t[i];
}
}
printf("%lld\n",ans);
return 0;
}