| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1357549 | baosonnguyenthe20 | Lightning Rod (NOI18_lightningrod) | C++20 | 988 ms | 166132 KiB |
#include <bits/stdc++.h>
#define fi first
#define se second
#define ll long long
#define N int(1e7)
using namespace std;
ll n, ans;
bool ok[N+10];
ll x[N+10],y[N+10];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1; i<=n; i++) cin>>x[i]>>y[i];
x[0]=y[0]=0;
if(n<=2000)
{
for(int i=1; i<=n; i++)
{
if(!ok[i])
{
for(int j=0; j<=n; j++)
{
if(i==j) continue;
if(abs(x[i]-x[j])<=(y[i]-y[j])) ok[j]=1;
}
}
}
for(int i=1; i<=n; i++) if(!ok[i]) ans++;
cout<<ans;
}
else
{
ll min1=LLONG_MAX;
ll max1=LLONG_MIN;
for(int i=1;i<=n;i++)
{
if(max1>=(x[i]+y[i])) ok[i]=1;
max1=max(max1,x[i]+y[i]);
}
for(int i=n;i>=1;i--)
{
if(min1<=(x[i]-y[i])) ok[i]=1;
min1=min(min1,x[i]-y[i]);
}
for(int i=1; i<=n; i++) if(!ok[i]) ans++;
cout<<ans;
}
return 0;
}
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
