Submission #7041790


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <cmath>
#include <numeric>
#include <set>
#include <list>
#include <bitset>
#include <cstdlib>
#include <map>
using ll = long long int;
using namespace std;

int main()
{
    long double R;
    int N, M;
    cin >> R >> N >> M;
    long double height = 2 * R / N;
    long double ans = 0;
    for (int i = 0; i <= N + M; i++)
    {
        long double first, second;
        long double k1 = fabs(R - height * i);
        long double k2 = fabs(R - height * (i - M));
        first = sqrt(R * R - k1 * k1) * 2;
        second = sqrt(R * R - k2 * k2) * 2;
        if ((i - M) <= 0)
        {
            second = 0;
        }
        if (N <= i)
        {
            first = 0;
        }
        ans += max(first, second);
    }
    cout << fixed << ans << endl;

    return 0;
}

Submission Info

Submission Time
Task B - ステップカット
User hatopoppo3
Language C++14 (GCC 5.4.1)
Score 200
Code Size 905 Byte
Status AC
Exec Time 34 ms
Memory 384 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 16
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt
All 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 20_hand_01.txt, 20_hand_02.txt, 20_hand_03.txt, 20_hand_04.txt, 20_hand_05.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 4 ms 384 KB
00_example_02.txt AC 1 ms 256 KB
00_example_03.txt AC 3 ms 256 KB
10_rand_01.txt AC 1 ms 256 KB
10_rand_02.txt AC 1 ms 256 KB
10_rand_03.txt AC 4 ms 256 KB
10_rand_04.txt AC 1 ms 256 KB
10_rand_05.txt AC 1 ms 256 KB
10_rand_06.txt AC 2 ms 256 KB
10_rand_07.txt AC 2 ms 256 KB
10_rand_08.txt AC 2 ms 256 KB
20_hand_01.txt AC 2 ms 256 KB
20_hand_02.txt AC 34 ms 256 KB
20_hand_03.txt AC 2 ms 256 KB
20_hand_04.txt AC 1 ms 256 KB
20_hand_05.txt AC 1 ms 256 KB