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

相关推荐

牛客网
牛客企业服务