結果
問題 |
No.1110 好きな歌
|
ユーザー |
![]() |
提出日時 | 2020-07-11 14:18:33 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 336 ms / 5,000 ms |
コード長 | 922 bytes |
コンパイル時間 | 1,149 ms |
コンパイル使用メモリ | 103,268 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-13 01:23:44 |
合計ジャッジ時間 | 10,969 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 51 |
ソースコード
#pragma GCC optimize("Ofast") #include<iostream> #include<stdio.h> #include<algorithm> #include<vector> #include<string.h> #include<math.h> #include<map> #include<iomanip> #include<queue> const long long INFL = 1e17+7; const long long INFI = 1e9+7; const long long MOD = 1e9+7; const double EXP = 1e-8; const double PI=acos(-1); using namespace std; int nibuntansaku(vector<int> &v,int target){ int start=0; int end=v.size()-1; int id=0; int mid; while(1){ mid=(end+start)/2; if(v[mid]>target){ end=mid; }else if(v[mid]<=target){ start=mid; } if(end-start<=1){ return start; } } } int main(){ cin.tie(0); ios::sync_with_stdio(false); int n,d; cin >> n >> d; vector<int> a(n+1); vector<int> b(n+1); a[0]=b[0]=0; for(int i=1;i<=n;i++){ cin >> a[i]; b[i]=a[i]; } sort(b.begin(),b.end()); for(int i=1;i<a.size();i++){ cout << nibuntansaku(b,a[i]-d) << endl; } return 0; }