比赛的时候E调了好久...F没时间写T T
A:直接走到短的路上来回走就好了
#include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> #include<algorithm> using namespace std; const int maxn=500010,inf=1e9; int n,a,b,c; inline void read(int &k) { int f=1;k=0;char c=getchar(); while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar(); while(c<='9'&&c>='0')k=k*10+c-'0',c=getchar(); k*=f; } int main() { read(n);read(a);read(b);read(c); if(n==1)return puts("0"),0; int mn=min(a,min(b,c));int now=1; if(a==mn||b==mn)printf("%d\n",mn*(n-1)); else printf("%d\n",min(a,b)+mn*(n-2)); }