結果
問題 |
No.2803 Bocching Star
|
ユーザー |
|
提出日時 | 2024-07-13 01:51:21 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 135 ms / 2,000 ms |
コード長 | 1,133 bytes |
コンパイル時間 | 6,079 ms |
コンパイル使用メモリ | 316,744 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-13 01:51:32 |
合計ジャッジ時間 | 10,785 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 35 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using mint = atcoder::static_modint<998244353>; //using mint = atcoder::static_modint<1000000007>; using namespace std; using namespace atcoder; using ld = long double; using ll = long long; #define mp(a,b) make_pair(a,b) #define rep(i,s,n) for(int i=s; i<n; i++) const vector<int> dx{1,0,-1,0},dy{0,1,0,-1}; template<typename T> void compress(vector<T>&a, bool is_unique=false){ auto b=a; sort(b.begin(),b.end()); if(is_unique){ auto p=unique(b.begin(),b.end()); b.erase(p,b.end()); } for(auto&x:a)x=lower_bound(b.begin(),b.end(),x)-b.begin(); } int main(){ int n,s; cin >> n >> s; vector<pair<int,int>> a(n); rep(i,0,n)cin >> a[i].first,a[i].second=i; sort(a.begin(),a.end()); vector<int> ans; rep(i,0,n){ bool isolate=true; if(i>0 && a[i].first-a[i-1].first<=s)isolate=false; if(i<n-1 && a[i+1].first-a[i].first<=s)isolate=false; if(isolate)ans.push_back(a[i].second+1); } sort(ans.begin(),ans.end()); cout << ans.size() << "\n"; for(auto x:ans)cout << x<< " "; }