Submission #55031

# Submission time Handle Problem Language Result Execution time Memory
55031 2018-07-05T21:33:47 Z luciocf Watching (JOI13_watching) C++14
0 / 100
5 ms 736 KB
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 2e3+10;

int num[MAXN], n, a, b;

bool ok(int w)
{
    int p = a, q = b;
    for (int i = 1; i <= n; i++)
    {
        if (!p && !q) return false;
        int pos = n, pos2 = n;
        for (int j = i+1; j <= n; j++)
        {
            if (num[i]+2*w-1 < num[j])
            {
                pos = j-1;
                break;
            }
        }

        if (!p)
        {
            i = pos;
            q--;
            continue;
        }

        for (int j = i+1; j <= n; j++)
        {
            if (num[i]+w-1 < num[j])
            {
                pos2 = j-1;
                break;
            }
        }

        if (!q)
        {
            i = pos2;
            p--;
            continue;
        }

        if (pos > pos2)
        {
            q--;
            i = pos;
        }
        else
        {
            p--;
            i = pos2;
        }
    }
    return true;
}

int busca(void)
{
    int ini = 1, fim = 1e9+10;
    while (ini < fim)
    {
        int mid = (ini+fim)/2;

        if (ok(mid)) fim = mid;
        else ini = mid+1;
    }
    return fim;
}

int main(void)
{
    cin >> n >> a >> b;

    for (int i = 1; i <= n; i++) cin >> num[i];

    sort(num+1, num+n+1);
    cout << busca() << "\n";
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 248 KB Output is correct
2 Correct 2 ms 484 KB Output is correct
3 Correct 2 ms 484 KB Output is correct
4 Correct 3 ms 640 KB Output is correct
5 Correct 3 ms 640 KB Output is correct
6 Correct 3 ms 688 KB Output is correct
7 Incorrect 3 ms 688 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 688 KB Output is correct
2 Correct 2 ms 688 KB Output is correct
3 Correct 4 ms 688 KB Output is correct
4 Correct 4 ms 736 KB Output is correct
5 Correct 3 ms 736 KB Output is correct
6 Correct 5 ms 736 KB Output is correct
7 Incorrect 5 ms 736 KB Output isn't correct
8 Halted 0 ms 0 KB -