提出 #73091870
ソースコード 拡げる
#if !__INCLUDE_LEVEL__
#include __FILE__
void solve() {
int N,D;
cin>>N>>D;
set<int> st;
vi A(N);
rep(i,N)cin>>A[i];
int l=0;
ll sum=0;
rep(i,N){
bool flag=false;
do{
flag=false;
auto ite=st.lower_bound(A[i]);
if(ite!=st.end()){
if(abs(A[i]-*ite)<D)flag=true;
}
if(ite!=st.begin()){
ite--;
if(abs(A[i]-*ite)<D)flag=true;
}
if(flag){
st.erase(A[l]);
l++;
}
}while(flag);
st.insert(A[i]);
sum+=st.size();
}
cout<<sum<<el;
}
int main() {
cin.tie(nullptr);
ios::sync_with_stdio(false);
int T=1;
//cin>>T;
while(T--)solve();
}
#else
#include <bits/stdc++.h>
//#include<atcoder/all>
using namespace std;
//using namespace atcoder;
//using mint=modint998244353;
//using mint=modint1000000007;
// 関数テンプレート
template<typename T> bool chmax(T &m, const T q) {
if (m < q) {m = q; return true;} else return false; }
template<typename T> bool chmin(T &m,const T q){
if(m>q){m=q;return true;}else return false;
}
template<typename T>
bool grid_inside(const T h, const T w, const T &m, const T &n) {
return (m >= 0 && m < h && n >= 0 && n < w);
}
// ループマクロ
#define rep(i,r) for(int i=0;(r)>i;i++)
#define REP(i,l,r) for(int i=(l);i<(r);i++)
#define rrep(i,N) for(int i=(N)-1;i>=0;i--)
#define RREP(i,r,N) for(int i=(N)-1;i>=r;i--)
// コンテナショートカット
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define el '\n'
#define spa " "
#define pb push_back
#define fixed15 std::fixed << std::setprecision(15)
#define popcntll(x) __builtin_popcountll(x)
// YES/NO 出力
#define Yes cout<<"Yes"<<el
#define No cout<<"No"<<el
#define YES cout<<"YES"<<el
#define NO cout<<"NO"<<el
#define YESNO(bool) if(bool){cout<<"YES"<<endl;}else{cout<<"NO"<<endl;}
#define yesno(bool) if(bool){cout<<"yes"<<endl;}else{cout<<"no"<<endl;}
#define YesNo(bool) if(bool){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}
// 型エイリアス
using ll=long long;
using ull=unsigned long long;
using pqgi=priority_queue<int, vector<int>, greater<int>>;
using pqgl=priority_queue<long long, vector<long long>, greater<long long>>;
using pqgpl=priority_queue<pair<long long,long long>,vector<pair<long long,long long>>,greater<pair<long long,long long>>>;
using pqgptpl=priority_queue<tuple<ll,ll,ll>,vector<tuple<ll,ll,ll>>,greater<tuple<ll,ll,ll>>>;
using pqi=priority_queue<int>;
using pii=pair<int, int>;
using tpi=tuple<int,int,int>;
using tpl=tuple<ll,ll,ll>;
using pll=pair<long long, long long>;
using vs=vector<string>;
using vi=vector<int>;
using vb=vector<bool>;
using vl=vector<long long>;
using vc=vector<char>;
using vvi=vector<vector<int>>;
using vvl=vector<vector<long long>>;
using vvc=vector<vector<char>>;
using vvb=vector<vector<bool>>;
using vvs=vector<vector<string>>;
using vpii=vector<pii>;
using vpll=vector<pll>;
using vvpii=vector<vector<pii>>;
using vvpll=vector<vector<pll>>;
using vtiii=vector<tuple<int, int, int>>;
using lb=long double;
// 定数
const long long INF=1e18;
const int mod=1e9+7;
//const int mod=998244353;
const int MAX=1e5+10;
const int MIN=-1e9;
const vpii dir={{1,0},{-1,0},{0,1},{0,-1}};
const vpii ddir={{1,0},{-1,0},{0,1},{0,-1},{-1,-1},{1,1},{-1,1},{1,-1}};
#endif
提出情報
| 提出日時 |
|
| 問題 |
E - Sparse Range |
| ユーザ |
yasaikeikaku |
| 言語 |
C++23 (GCC 15.2.0) |
| 得点 |
450 |
| コード長 |
3432 Byte |
| 結果 |
AC |
| 実行時間 |
268 ms |
| メモリ |
23708 KiB |
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
450 / 450 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
| All |
min1.txt, min2.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| min1.txt |
AC |
1 ms |
3620 KiB |
| min2.txt |
AC |
1 ms |
3608 KiB |
| random_01.txt |
AC |
146 ms |
9712 KiB |
| random_02.txt |
AC |
136 ms |
8788 KiB |
| random_03.txt |
AC |
141 ms |
8860 KiB |
| random_04.txt |
AC |
118 ms |
8184 KiB |
| random_05.txt |
AC |
84 ms |
5008 KiB |
| random_06.txt |
AC |
48 ms |
4312 KiB |
| random_07.txt |
AC |
75 ms |
4952 KiB |
| random_08.txt |
AC |
55 ms |
4624 KiB |
| random_09.txt |
AC |
75 ms |
4984 KiB |
| random_10.txt |
AC |
49 ms |
4400 KiB |
| random_11.txt |
AC |
114 ms |
8416 KiB |
| random_12.txt |
AC |
6 ms |
3704 KiB |
| random_13.txt |
AC |
21 ms |
4956 KiB |
| random_14.txt |
AC |
158 ms |
23640 KiB |
| random_15.txt |
AC |
268 ms |
23708 KiB |
| random_16.txt |
AC |
155 ms |
23668 KiB |
| sample_01.txt |
AC |
1 ms |
3520 KiB |
| sample_02.txt |
AC |
1 ms |
3620 KiB |
| sample_03.txt |
AC |
1 ms |
3656 KiB |