| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1281291 | tunademayo | Advertisement 2 (JOI23_ho_t2) | C++20 | 270 ms | 25492 KiB |
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const bool Multitest = 0;
const int N = 5e5 + 10;
struct Data
{
int a, b;
}; Data a[N];
int n;
map<pair<int, int>, bool> mp;
void pre()
{
int cnt = 0;
for(int i = 1 ; i <= n ; i++)
{
if(mp.find({a[i].a, a[i].b}) == mp.end())
{
cnt++;
a[cnt] = a[i];
}
}
n = cnt;
}
bool cmp(Data a, Data b)
{
return a.a < b.a;
}
namespace sub1
{
bool check()
{
for(int i = 1 ; i < n ; i++)
{
if(a[i].b != a[i + 1].b) return 0;
}
return 1;
}
set<int> s;
void solve()
{
for(int i = 1 ; i <= n ; i++)
{
s.insert(a[i].a);
}
cout << s.size();
}
}
namespace subf
{
int f[N], g[N], t[N];
void solve()
{
sort(a + 1, a + 1 + n, cmp);
for(int i = 1 ; i <= n ; i++) f[i] = a[i].a + a[i].b;
g[0] = -2e9; t[n + 1] = 2e9;
for(int i = 1 ; i <= n ; i++) g[i] = max(g[i - 1], f[i]);
for(int i = n ; i >= 1 ; i--) t[i] = min(t[i + 1], f[i]);
int cnt = 0;
for(int i = 1 ; i <= n ; i++)
{
if(g[i - 1] >= f[i] || f[i] >= t[i + 1]) continue;
cnt++;
}
cout << cnt;
}
}
namespace sub2
{
int deg[N]; const int Sub2 = 1;
bool check()
{
return n <= Sub2;
}
void solve()
{
sort(a + 1, a + 1 + n, cmp);
for(int i = 1 ; i <= n ; i++)
{
for(int j = 1 ; j <= n ; j++)
{
if(i == j) continue;
if(abs(a[i].a - a[j].a) <= a[i].b - a[j].b)
{
deg[j]++;
//cout << i << ' ' << j << '\n';
}
}
}
int ans = 0;
for(int i = 1 ; i <= n ; i++)
{
if(deg[i] == 0) ans++;
}
cout << ans;
}
}
void work()
{
cin >> n;
for(int i = 1 ; i <= n ; i++) cin >> a[i].a >> a[i].b;
pre();
if(sub1::check())
{
sub1::solve();
return;
}
if(sub2::check())
{
sub2::solve();
return;
}
subf::solve();
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int q = 1;
if(fopen("task.inp", "r"))
{
freopen("task.inp", "r", stdin);
freopen("task.out", "w", stdout);
}
if(Multitest) cin >> q;
while(q--) work();
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
