Submission #15280

#TimeUsernameProblemLanguageResultExecution timeMemory
15280seirion맛있는 과자 (kriii3_A)C++14
10 / 33
1000 ms524288 KiB
#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
#include <functional>

using namespace std;

vector<double> q;

int a, b, n, k;
double dev;

void cut() {
    vector<double> temp;
    for (auto d : q) {
        temp.push_back(d*a*a/dev/dev);
        temp.push_back(d*b*b/dev/dev);
    }
    q.swap(temp);
}

int main() {
    cin >> a >> b >> n >> k;
    dev = sqrt(a*a + b*b); k--;
    q.push_back((double)a*b/2);
    while (n--) {
        cut();
    }
    sort(q.begin(), q.end(), greater<double>());
    auto r = q.begin();
    advance(r, k);
    printf("%0.10f\n", log(*r));
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...