Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define loop(i,from,to) for (int i = from; i < to; ++i)
- #include <bits/stdc++.h>
- using std::cin;
- using std::cout;
- using std::endl;
- using std::vector;
- using std::string;
- using std::pair;
- using std::set;
- const int INF = 1e9+7;
- const double eps = 1e-6;
- long long S(int a, int b, int c) {
- long long p = a + b + c;
- return 1LL * p * (p - 2 * a) * (p - 2 * b) * (p - 2 * c);
- }
- bool check(int a, int b, int c) {
- return a + b > c && a + c > b && b + c > a;
- }
- signed main() {
- std::ios::sync_with_stdio(false);
- cin.tie(0);
- cout.tie();
- int n, T; cin >> n;
- vector<int> data;
- loop(i, 0, n) {
- cin >> T;
- data.emplace_back(T);
- }
- if (n < 3) cout << -1;
- else {
- long long mx = -INF;
- int x, y, z;
- bool f = false;
- loop(i, 0, n - 2)
- loop(j, i + 1, n - 1)
- loop(k, j + 1, n)
- if (check(data[i], data[j], data[k]) && mx < S(data[i], data[j], data[k])) {
- mx = S(data[i], data[j], data[k]);
- x = i + 1;
- y = j + 1;
- z = k + 1;
- f = true;
- }
- if (!f) cout << -1;
- else {
- cout << std::fixed << std::setprecision(6) << sqrt((long double) mx) / 4;
- cout << endl << x << " " << y << " " << z;
- }
- }
- //std::cout << "Hello World!\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment