来回比较,只有50

P1809 过河问题

````cpp #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> using namespace std; int i,n,a[100010]; long long ans; void re(int &x) { x=0; char ch=getchar(); while(ch<'0'||ch>'9')ch=getchar(); while(ch>='0'&&ch<='9')x=(x<<3)+(x<<1)+(ch^48),ch=getchar(); } bool cmp(const int x,const int y) { return x<y; } int main() { re(n); for(i=1;i<=n;i++) re(a[i]); sort(a+1,a+n+1,cmp); while(n>3) { ans+=min(a[1]*2+a[n]+a[n-1],a[1]+a[2]*2+a[n]); n-=2; } if(n==2) ans+=a[2]; if(n==3) ans+=a[1]+a[2]+a[3]; printf("%lld",ans); return 0; } ```` 求关
by 0_QAQ_0 @ 2023-12-15 08:57:16


@[fhzmmax](/user/969032) 呃你贴这个的意义是什么
by 冰糖鸽子 @ 2023-12-15 09:10:03



by 0_QAQ_0 @ 2023-12-15 09:11:52


@[fhzmmax](/user/969032) 怎么跟我好友告诉我的一摸一样呢 关注了
by Florr_m27 @ 2023-12-15 20:32:09


|