답안 #739897

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
739897 2023-05-11T14:25:15 Z danikoynov Measures (CEOI22_measures) C++14
0 / 100
1500 ms 1260 KB
/**
 ____ ____ ____ ____ ____ ____
||l |||e |||i |||n |||a |||d ||
||__|||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|/__\|

**/

#include<bits/stdc++.h>
#define endl '\n'

using namespace std;
typedef long long ll;

void speed()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}

const int maxn = 2e5 + 10;

int n, m, d;
int a[maxn], b[maxn];

bool check(double x)
{
    double last = -1e9;
    for (int i = 1; i <= n; i ++)
    {
        if (last + d > a[i] + x)
            return false;
        last = max(last + d, a[i] - x);
    }
    return true;
}

void solve_query()
{
    sort(a + 1, a + n + 1);
    int lf = 0, rf = 1e9;
    while(lf <= rf)
    {
        int mf = (lf + rf) / 2;
        if (check(mf))
            rf = mf - 1;
        else
            lf = mf + 1;
    }

    double ans = lf;
    if (ans > 0 && check(ans - 0.5))
        ans = ans - 0.5;

        printf("%0.1f ", ans);
}
void solve()
{
    cin >> n >> m >> d;
    for (int i = 1; i <= n; i ++)
        cin >> a[i];
    for (int i = 1; i <= m; i ++)
        cin >> b[i];

    for (int i = 1; i <= m; i ++)
    {
        n ++;
        a[n] = b[i];
        solve_query();
    }

}

int main()
{
    solve();
    return 0;
}

Compilation message

Main.cpp: In function 'void solve_query()':
Main.cpp:53:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   53 |     if (ans > 0 && check(ans - 0.5))
      |     ^~
Main.cpp:56:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   56 |         printf("%0.1f ", ans);
      |         ^~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 212 KB Output is correct
2 Incorrect 3 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 212 KB Output is correct
2 Incorrect 3 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1572 ms 1260 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1572 ms 1260 KB Time limit exceeded
2 Halted 0 ms 0 KB -