只有第三个过了。。第二个只有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;
}