P9280 [AGM 2023 资格赛] Monty Hall 题解

· · 题解

原题传送

题目说明第 i 个数一定大于等于第 i+1 个数,也就是说我们选的 i 要尽量大。显然每次都移动 n 步是无法打开所有的门的,我们可以每一次都移动 n-1 步,这样能在保证花费小的同时打开所有的门。

在此基础上我们还可以优化一下,因为玩家刚开始虽然站在 1 号位置,但是不能打开这扇门。我们可以只花费 C_n 的代价就能打开第一扇门。

代码:

#include<bits/stdc++.h>
using namespace std;
long long a[100005];
int main(){
    long long n;
    cin>>n;
    for(long long i=1;i<=n;i++)cin>>a[i];
    cout<<a[n]+a[n-1]*(n-1)<<endl;
    return 0;
}
总结:此蒟蒻能做出来的题或许该降橙