結果

問題 No.2803 Bocching Star
ユーザー toku4388toku4388
提出日時 2024-07-12 21:09:06
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 294 ms / 2,000 ms
コード長 1,683 bytes
コンパイル時間 1,961 ms
コンパイル使用メモリ 179,896 KB
実行使用メモリ 14,588 KB
最終ジャッジ日時 2024-07-12 21:09:53
合計ジャッジ時間 4,083 ms
ジャッジサーバーID
(参考情報)
judge5 / judge6
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,812 KB
testcase_01 AC 2 ms
6,944 KB
testcase_02 AC 2 ms
6,944 KB
testcase_03 AC 23 ms
6,940 KB
testcase_04 AC 191 ms
12,160 KB
testcase_05 AC 87 ms
8,064 KB
testcase_06 AC 15 ms
6,944 KB
testcase_07 AC 62 ms
6,944 KB
testcase_08 AC 33 ms
6,944 KB
testcase_09 AC 213 ms
13,056 KB
testcase_10 AC 252 ms
13,440 KB
testcase_11 AC 246 ms
13,056 KB
testcase_12 AC 56 ms
6,940 KB
testcase_13 AC 166 ms
11,520 KB
testcase_14 AC 107 ms
8,832 KB
testcase_15 AC 225 ms
12,800 KB
testcase_16 AC 131 ms
8,576 KB
testcase_17 AC 32 ms
6,944 KB
testcase_18 AC 41 ms
6,940 KB
testcase_19 AC 205 ms
11,648 KB
testcase_20 AC 125 ms
8,320 KB
testcase_21 AC 86 ms
7,296 KB
testcase_22 AC 71 ms
7,168 KB
testcase_23 AC 294 ms
13,824 KB
testcase_24 AC 260 ms
14,584 KB
testcase_25 AC 291 ms
14,588 KB
testcase_26 AC 270 ms
14,588 KB
testcase_27 AC 262 ms
14,076 KB
testcase_28 AC 289 ms
14,080 KB
testcase_29 AC 277 ms
13,696 KB
testcase_30 AC 262 ms
14,588 KB
testcase_31 AC 236 ms
13,952 KB
testcase_32 AC 269 ms
14,588 KB
testcase_33 AC 3 ms
6,944 KB
testcase_34 AC 10 ms
6,944 KB
testcase_35 AC 6 ms
6,948 KB
testcase_36 AC 4 ms
6,944 KB
testcase_37 AC 3 ms
6,940 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:51:19: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   51 |         for (auto [x, i] : m) {
      |                   ^

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
using P = pair<int, int>;
#ifdef _DEBUG
#define show(x)          \
	cerr << #x << " : "; \
	showVal(x)
template <typename T>
void showVal(const T &a) {
	cerr << a << endl;
}
template <typename T, typename U>
void showVal(const pair<T, U> &a) {
	cerr << a.first << " " << a.second << endl;
}
template <typename T>
void showVal(const vector<T> &a) {
	for (const T &v : a) cerr << v << " ";
	cerr << endl;
}
template <typename T, typename U>
void showVal(const vector<pair<T, U>> &a) {
	cerr << endl;
	for (const pair<T, U> &v : a) cerr << v.first << " " << v.second << endl;
}
template <typename T, typename U>
void showVal(const map<T, U> &a) {
	cerr << endl;
	for (const auto &v : a) cerr << "[" << v.first << "] " << v.second << endl;
}
template <typename T>
void showVal(const vector<vector<T>> &a) {
	cerr << endl;
	for (const vector<T> &v : a) showVal(v);
}
#else
#define show(x)
#endif
int main() {
	int n, s;
	cin >> n >> s;
	vector<int> p(n);
	for (int i = 0; i < n; i++) {
		cin >> p[i];
	}
	set<P> m;
	for (int i = 0; i < n; i++) {
		m.insert({p[i], i});
	}
	vector<int> ans;
	for (auto [x, i] : m) {
		show(x);
		auto itr = m.find({x, i});
		bool isok = true;
		for (auto v : {-1, 1}) {
			if (itr == m.begin() && v == -1) continue;
			auto pv = next(itr, v);
			if (pv == m.end()) continue;
			show(pv->first);
			if (abs((pv->first) - x) <= s) {
				isok = false;
			}
		}
		if (isok) {
			ans.push_back(i);
		}
	}
	sort(ans.begin(), ans.end());
	cout << ans.size() << endl;
	int sz = ans.size();
	for (int i = 0; i < sz; i++) {
		cout << ans[i] + 1;
		if (i == sz - 1)
			cout << endl;
		else
			cout << " ";
	}
	return 0;
}
0