Submission #1314710

#TimeUsernameProblemLanguageResultExecution timeMemory
1314710cubedDischarging (NOI20_discharging)C++20
9 / 100
68 ms8248 KiB
#include <bits/stdc++.h>
using namespace std;

#define endl '\n'
#define f first
// #define s second
#define pb(x) push_back(x)
#define int long long
 
const int MOD = 1e9+7;
const int inf = 1e9;
const int INF = 1e18+20;
const int LOG = 25;

void solve() {
    int n;
    cin>>n;

    vector<int> a(n);
    for (int i=0; i<n; i++) cin>>a[i];

    if (n==1) {
        cout<<a[0]<<endl;
    } else if (n==2) {
        int tt = 2*a[0] + a[1];
        tt = min(tt, 2*max(a[0], a[1]));
        cout<<tt<<endl;
    } else {
        int tt = 3*a[0] + 2*a[1]+a[2];
        tt = min(tt, 3*max(a[0], a[1]) + a[2]);
        tt = min (tt, 3*a[0] + 2*max(a[1], a[2]));
        tt = min(tt, 3*max(a[0], max(a[1], a[2])));
        cout<<tt<<endl;
    }
}

bool multi=false;

int32_t main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    
  
    int t=1;
    if (multi) cin>>t;
 
    while (t--) solve();
 
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...