P9280 [AGM 2023 资格赛] Monty Hall

· · 题解

做法

由于 a_1\ge a_2\ge \cdots\ge a_{n-1}\ge a_n,所以为了代价更小,要使每次走的步数更多,那么第一次肯定走 n 步,回到第 1 扇门,以后每一次都走 n-1 步(避免重复),因此最终答案就是 a_{n-1}\times(n-1)+a_n

代码实现

#include<bits/stdc++.h>
using namespace std;
int a[100010];
int main(){
    int n;scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    printf("%lld",1LL*a[n-1]*(n-1)+a[n]);
    return 0;
}