제출 #1150994

#제출 시각아이디문제언어결과실행 시간메모리
1150994AlperenT_Advertisement 2 (JOI23_ho_t2)C++20
100 / 100
104 ms12252 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #define pb push_back #define F first #define pii pair<int,int> #define all(a) a.begin(),a.end() #define S second #define sz(a) (int)a.size() #define rep(i , a , b) for(int i = (a) ; i <= (b) ; i++) #define per(i , a , b) for(int i = (a) ; i >= (b) ; i--) #define ld long double #define int long long using namespace std ; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int maxn = 1e6+20 , maxm = 2e4 + 220, sq = 500 , inf = 1e18+10 , mod =998244353 ; int mark[maxn] ; signed main(){ ios_base::sync_with_stdio(false) ; cin.tie(0) ; vector <pii> vec; int n;cin >> n ; rep(i ,1 , n){ int a , e ; cin >> a >> e; vec.pb({a,e}) ; } sort(all(vec)) ; int mn = inf ; rep(i , 0 ,sz(vec)-1){ if(i!=sz(vec)-1 && vec[i+1].F == vec[i].F)continue ; if(mn <= -vec[i].S-vec[i].F){ mark[i] = 1; } mn = min(-vec[i].S-vec[i].F , mn) ; } mn = inf ; per(i , sz(vec)-1 , 0){ if(i!=sz(vec)-1 && vec[i+1].F == vec[i].F)continue ; if(mn <= vec[i].F-vec[i].S){ mark[i] = 1; } mn = min(mn , vec[i].F-vec[i].S); } int ans =0 ; rep(i ,0 ,sz(vec)-1){ if(i!=sz(vec)-1 && vec[i+1].F == vec[i].F)continue ; ans += (mark[i] ==0 ); } cout << ans << "\n" ; } /* */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...