結果
問題 |
No.2923 Mayor's Job
|
ユーザー |
|
提出日時 | 2024-10-19 17:33:54 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 9 ms / 2,000 ms |
コード長 | 824 bytes |
コンパイル時間 | 2,470 ms |
コンパイル使用メモリ | 205,636 KB |
最終ジャッジ日時 | 2025-02-24 21:36:47 |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll=long long; constexpr int MOD=998244353; #define rep(i,n) for(int i=0;i<(int)(n);i++) #define rep2(i,l,r) for(int i=(l);i<(int)(r);i++) #define all(v) v.begin(),v.end() int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; ll K; cin>>N>>K; vector H(N,0ll); for(ll &i:H)cin>>i; vector P(N,array<ll,2>()); for(auto &i:P)cin>>i[0]>>i[1]; vector idx(N,0); iota(all(idx),0); sort(all(idx),[H](int a,int b){ return H[a]<H[b]; }); int ans=N; auto dist=[](array<ll,2> a,array<ll,2> b){ return (a[0]-b[0])*(a[0]-b[0])+(a[1]-b[1])*(a[1]-b[1]); }; rep(i,N){ int a=idx[i]; rep2(j,i+1,N){ int b=idx[j]; if(H[a]<H[b]&&dist(P[a],P[b])<=K*K){ ans-=1; break; } } } cout<<ans<<'\n'; }