本文主要是介绍Codeforces Round 840 (Div. 2) C. Another Array Problem,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
思路:
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pb push_back
#define fi first
#define se second
#define lson p << 1
#define rson p << 1 | 1
const int maxn = 1e6 + 5, inf = 1e9, maxm = 4e4 + 5;
const int N = 1e6;
// const int mod = 1e9 + 7;
const int mod = 998244353;
// int a[505][5005];
// bool vis[505][505];
// char s[505][505];
int a[maxn], b[maxn];
int vis[maxn];
string s;
int n, m;struct Node{int val, id;bool operator<(const Node &u)const{return val < u.val;}
};
// Node c[maxn];// int ans[maxn], pre[maxn];//long long ? maxn ?void solve(){int res = 0;int q, k;int sum = 0;int mx = 0;cin >> n;for(int i = 1; i <= n; i++){cin >> a[i];mx = max(mx, a[i]);}if(n >= 4){cout << n * mx << '\n';}else if(n == 2){cout << max(a[1] + a[2], 2LL * abs(a[1] - a[2])) << '\n';}else{res = max({a[1] + a[2] + a[3], 3LL * a[1], 3LL * a[3], 3LL * abs(a[1] - a[2]), 3LL * abs(a[2] - a[3])});cout << res << '\n';}
}signed main(){ios::sync_with_stdio(0);cin.tie(0);int T = 1;cin >> T;while (T--){solve();}return 0;
}
这篇关于Codeforces Round 840 (Div. 2) C. Another Array Problem的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!