제출 #1361303

#제출 시각아이디문제언어결과실행 시간메모리
1361303baoquanAdvertisement 2 (JOI23_ho_t2)C++20
0 / 100
0 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define pa pair<int, int>
#define tup tuple<int, int, int>
#define db double
#define fi first
#define se second
#define ull unsigned long long

const int maxn = 1e6 + 4, INF = 1e17 + 4, lg = 17, base = 31, mod = 1e9 + 7;

vector <pa> p;
deque <int> dq;
int cnt[maxn];
int n;

void nhap()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> n;
    for (int i = 1 ; i <= n ; i ++)
    {
        int x , e;
        cin >> x >> e;
        p.push_back({x - e , i});
        p.push_back({x + e , i});
    }
}

bool cmp(pa a , pa b)
{
    if (a.fi == b.fi)
        return a.se > b.se;
    return a.fi < b.fi;
}

void Solve()
{
    int ans = 0;
    for (auto [pos , i] : p)
    {
        cnt[i] ++;
        if (!dq.empty() && dq.front() == i && cnt[i] == 2)
        {
            while (!dq.empty() && cnt[dq.front()] == 2)
                dq.pop_front();
            ans ++;
        }
        else
            dq.push_back(i);
    }
    cout << ans << '\n';
}

signed main()
{
    nhap();
    sort(p.begin() , p.end() , cmp);
    // for (auto [pos , i] : p)
    //     cout << pos << ' ' << i << '\n';
    Solve();
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…