Submission #743186

#TimeUsernameProblemLanguageResultExecution timeMemory
743186vjudge1Lightning Rod (NOI18_lightningrod)C++17
40 / 100
2074 ms136944 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long ; using pii = pair<ll , ll> ; using i3 = tuple<ll , ll , ll> ; const int N = 2e5+5 ; const int MOD = 1e9+7 ; int n ; map<pii , bool> vis ; struct Points { int x , y ; bool operator<(const Points &other) const { if(y != other.y) return y > other.y ; else return x > other.x ; } }; vector<Points> point ; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n ; for(int i=0;i<n;i++){ int x , y ; cin >> x >> y ; point.push_back({x , y}) ; } sort(point.begin() , point.end()); int i = 0 , cnt = 0 , ans = 0 ; while(cnt < n && i < n){ int curx = point[i].x , cury = point[i].y ; if(vis[pii(curx , cury)]){ i++; continue ; } ans++; vis[pii(curx , cury)] = true ; for(auto [x , y] : point){ if(abs(x - curx) > cury - y) continue ; if(vis[pii(x , y)]) continue ; vis[pii(x,y)] = true ; cnt++; } i++; } cout << ans ; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...