답안 #769535

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
769535 2023-06-29T18:20:02 Z Ozy Advertisement 2 (JOI23_ho_t2) C++17
100 / 100
253 ms 44640 KB
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define debug(a) cout << #a << " = " << a << endl
#define debugsl(a) cout << #a << " = " << a << ", "
#define lli long long int
#define rep(i,a,b) for(int i = (a); i <= (b); i++)
#define repa(i,a,b) for(int i = (a); i >= (b); i--)
#define pll pair<lli,lli>

//para el orden
#define e first
#define x second
//para el set
#define ee second
#define xx first

vector<pll> orden;
lli n,a,b,res;
set<pll> advertisors;
bool inserto;

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

    cin >> n;
    rep(i,1,n) {
        cin >> a >> b;
        orden.push_back({b,a});
    }
    sort(orden.begin(), orden.end());
    reverse(orden.begin(), orden.end());

    for(auto act : orden) {

        //debugsl(act.x);
        //debug(act.e);

        inserto = true;
        if (advertisors.empty()) inserto = true;
        else {

            auto it = advertisors.lower_bound({act.x,0});
            if (it != advertisors.end()) {
                a = (*it).xx - act.x;
                b = (*it).ee - act.e;

                //debugsl("right");
                //debugsl((*it).xx);
                //debug((*it).ee);
                //debugsl(a);
                //debug(b);

                if (a <= b) inserto = false;
            }

            if (it != advertisors.begin()) {
                it--;
                a = act.x - (*it).xx;
                b = (*it).ee - act.e;

                //debugsl("left");
                //debugsl((*it).xx);
                //debug((*it).ee);
                //debugsl(a);
                //debug(b);

                if (a <= b) inserto = false;
            }
        }

        if (inserto) {
            //debug("SI");
            res++;
            advertisors.insert({act.x, act.e});
        }
    }

    cout << res;
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 63 ms 11444 KB Output is correct
3 Correct 81 ms 11088 KB Output is correct
4 Correct 128 ms 12244 KB Output is correct
5 Correct 64 ms 13568 KB Output is correct
6 Correct 253 ms 43368 KB Output is correct
7 Correct 209 ms 28904 KB Output is correct
8 Correct 136 ms 15688 KB Output is correct
9 Correct 94 ms 15524 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 316 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 328 KB Output is correct
7 Correct 1 ms 316 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 1 ms 316 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 316 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 316 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 328 KB Output is correct
7 Correct 1 ms 316 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 1 ms 316 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 316 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Correct 1 ms 332 KB Output is correct
20 Correct 1 ms 340 KB Output is correct
21 Correct 1 ms 340 KB Output is correct
22 Correct 1 ms 328 KB Output is correct
23 Correct 1 ms 340 KB Output is correct
24 Correct 1 ms 328 KB Output is correct
25 Correct 1 ms 332 KB Output is correct
26 Correct 1 ms 328 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 63 ms 11444 KB Output is correct
3 Correct 81 ms 11088 KB Output is correct
4 Correct 128 ms 12244 KB Output is correct
5 Correct 64 ms 13568 KB Output is correct
6 Correct 253 ms 43368 KB Output is correct
7 Correct 209 ms 28904 KB Output is correct
8 Correct 136 ms 15688 KB Output is correct
9 Correct 94 ms 15524 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 1 ms 316 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 328 KB Output is correct
16 Correct 1 ms 316 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 0 ms 212 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 1 ms 316 KB Output is correct
23 Correct 0 ms 212 KB Output is correct
24 Correct 0 ms 316 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 1 ms 212 KB Output is correct
27 Correct 0 ms 212 KB Output is correct
28 Correct 1 ms 332 KB Output is correct
29 Correct 1 ms 340 KB Output is correct
30 Correct 1 ms 340 KB Output is correct
31 Correct 1 ms 328 KB Output is correct
32 Correct 1 ms 340 KB Output is correct
33 Correct 1 ms 328 KB Output is correct
34 Correct 1 ms 332 KB Output is correct
35 Correct 1 ms 328 KB Output is correct
36 Correct 102 ms 13380 KB Output is correct
37 Correct 132 ms 12984 KB Output is correct
38 Correct 153 ms 15208 KB Output is correct
39 Correct 145 ms 14116 KB Output is correct
40 Correct 154 ms 15144 KB Output is correct
41 Correct 151 ms 15148 KB Output is correct
42 Correct 133 ms 15152 KB Output is correct
43 Correct 158 ms 22076 KB Output is correct
44 Correct 130 ms 15304 KB Output is correct
45 Correct 238 ms 44640 KB Output is correct