Submission #692659

# Submission time Handle Problem Language Result Execution time Memory
692659 2023-02-02T04:01:13 Z zeroesandones Lightning Rod (NOI18_lightningrod) C++17
19 / 100
2000 ms 169248 KB
#include "bits/stdc++.h"
using namespace std;

typedef long long ll;
typedef long double ld;
typedef vector<ll> vi;
typedef pair<ll, ll> pi;

#define FOR(i, j, k) for (ll i = j; i < (ll) k; ++i)
#define FORD(i, j, k) for (ll i = j; i >= (ll) k; --i)
#define nl "\n"
#define sp " "

#define all(x) (x).begin(), (x).end()
#define sc second
#define fr first
#define pb emplace_back

void solve()
{
    ll n;
    cin >> n;

    ll x[n], y[n];
    FOR(i, 0, n) {
        cin >> x[i] >> y[i];
    }

    ll ans = n;
    FOR(i, 1, (1<<n)) {
        vi subset;
        FOR(j, 0, n) {
            if(i & (1<<j)) {
                subset.pb(j);
            }
        }

        bool covered[n] = {};
        FOR(j, 0, n) {
            for(auto k : subset) {
                if(y[k] < y[j]) continue;
                if(abs(x[j] - x[k]) <= y[k] - y[j]) {
                    covered[j] = true;
                    break;
                }
            }
        }

        bool valid = true;
        FOR(j, 0, n) {
            if(!covered[j]) {
                valid = false;
                break;
            }
        }

        if(valid)
            ans = min(ans, (ll) __builtin_popcountll(i));
    }

    cout << ans << nl;
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    ll t = 1;
    // cin >> t;
    while (t--)
    {
        solve();
    }
}
# Verdict Execution time Memory Grader output
1 Execution timed out 2057 ms 165204 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 324 KB Output is correct
4 Correct 1 ms 316 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 324 KB Output is correct
4 Correct 1 ms 316 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 284 ms 296 KB Output is correct
9 Correct 718 ms 296 KB Output is correct
10 Correct 764 ms 304 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 324 KB Output is correct
4 Correct 1 ms 316 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 284 ms 296 KB Output is correct
9 Correct 718 ms 296 KB Output is correct
10 Correct 764 ms 304 KB Output is correct
11 Execution timed out 2066 ms 380 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 324 KB Output is correct
4 Correct 1 ms 316 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 284 ms 296 KB Output is correct
9 Correct 718 ms 296 KB Output is correct
10 Correct 764 ms 304 KB Output is correct
11 Execution timed out 2066 ms 380 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2069 ms 169248 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2057 ms 165204 KB Time limit exceeded
2 Halted 0 ms 0 KB -