ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1161. Stripies

C++ solution
Послано Vladimir Bogatyrev 21 ноя 2010 10:05
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>

using namespace std;
vector <float> weights;
int n;
float def(int ind);

int main()
{
    int i;
    float f;
    cout.precision(2);
    cin >> n;
    for(i = 0; i < n; ++i)
    {
        cin >> f;
        weights.push_back(f);
    }
    sort(weights.begin(), weights.end());
    cout << fixed << def(0);
    return 0;
}

float def(int ind)
{
    if(ind >= n - 1)
        return weights[ind];
    else
        return 2 * sqrt(weights[ind] * def(ind + 1));
}