結果

問題 No.202 1円玉投げ
ユーザー vain0vain0
提出日時 2015-06-01 01:06:05
言語 C++11
(gcc 11.4.0)
結果
TLE  
実行時間 -
コード長 1,769 bytes
コンパイル時間 958 ms
コンパイル使用メモリ 82,692 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-12-22 09:26:26
合計ジャッジ時間 48,368 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 4,099 ms
5,732 KB
testcase_01 AC 3,873 ms
5,732 KB
testcase_02 AC 2 ms
5,248 KB
testcase_03 AC 2 ms
5,248 KB
testcase_04 AC 1 ms
5,248 KB
testcase_05 AC 21 ms
5,248 KB
testcase_06 AC 2,107 ms
5,604 KB
testcase_07 AC 2,591 ms
5,476 KB
testcase_08 AC 2,640 ms
5,600 KB
testcase_09 AC 906 ms
5,248 KB
testcase_10 AC 189 ms
5,248 KB
testcase_11 AC 638 ms
5,248 KB
testcase_12 AC 699 ms
5,248 KB
testcase_13 AC 228 ms
5,248 KB
testcase_14 AC 26 ms
5,248 KB
testcase_15 AC 871 ms
5,248 KB
testcase_16 AC 2,280 ms
5,732 KB
testcase_17 AC 2,094 ms
5,728 KB
testcase_18 AC 2,119 ms
5,732 KB
testcase_19 AC 774 ms
5,248 KB
testcase_20 AC 1,754 ms
5,472 KB
testcase_21 AC 757 ms
5,248 KB
testcase_22 AC 3 ms
5,248 KB
testcase_23 AC 3 ms
5,248 KB
testcase_24 AC 2 ms
5,248 KB
testcase_25 AC 2 ms
5,248 KB
testcase_26 AC 3 ms
5,248 KB
testcase_27 AC 4 ms
5,248 KB
testcase_28 AC 2 ms
5,248 KB
testcase_29 AC 2 ms
5,248 KB
testcase_30 AC 2 ms
5,248 KB
testcase_31 AC 2 ms
5,248 KB
testcase_32 AC 3 ms
5,248 KB
testcase_33 AC 2 ms
5,248 KB
testcase_34 AC 3 ms
5,248 KB
testcase_35 AC 2,157 ms
5,732 KB
testcase_36 TLE -
testcase_37 AC 2,963 ms
5,480 KB
testcase_38 AC 2,120 ms
5,860 KB
testcase_39 AC 2 ms
5,248 KB
testcase_40 AC 2 ms
6,820 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <cassert>
#include <functional>
#include <set>
#include <ctime>
#include <cmath>
#include <climits>
#include <string>
#include <queue>
#include <map>
#include <vector>
#include <algorithm>
#include <iostream>
#include <cstdio>
#ifndef ONLINE_JUDGE //POJ
# include <random>
# include <array>
# define mkt make_tuple
# define empb emplace_back
#endif
#ifdef _LOCAL
# include "for_local.h"
#endif
using namespace std;
typedef unsigned int uint; typedef unsigned long long ull;
#define repi(_I, _B, _E) for(int _I = (_B); (_I) < (_E); ++ (_I))
#define rep(_I, _N) for(int _I = 0; (_I) < (_N); ++ (_I))
#define mkp make_pair
#define all(_X) (_X).begin(), (_X).end()
#define scani(_V) std::scanf("%d", &_V)
#define printi(_V) std::printf("%d", static_cast<int>(_V))

template<typename T>
T selfprod(T const& x, T const& y) { return x * x + y * y; }

signed main() {
	int n;
	cin >> n;

	int k = 0;
	vector<pair<int, int>> ps;
	vector<pair<int, int>> xs, ys;
	rep(i, n) {
		int x, y;
		cin >> x >> y;

		bool ok = true;
		vector<bool> vb(n, false);
		auto&& ranx = mkp(upper_bound(all(xs), mkp(x - 20, 0)), lower_bound(all(xs), mkp(x + 20, 0)));
		auto&& rany = mkp(upper_bound(all(ys), mkp(y - 20, 0)), lower_bound(all(ys), mkp(y + 20, 0)));
		for ( auto it = ranx.first; it != ranx.second; ++it ) {
			vb[it->second] = true;
		}
		for ( auto it = rany.first; it != rany.second; ++it ) {
			if ( vb[it->second] ) {
				auto const& p = ps[it->second];
				if ( selfprod(x - p.first, y - p.second) < ((10*2)*(10*2)) ) {
					ok = false; break;
				}
			}
		}
		if ( ok ) {
			ps.emplace_back(x, y);
			xs.emplace(lower_bound(all(xs), mkp(x, k)), mkp(x, k));
			ys.emplace(lower_bound(all(ys), mkp(y, k)), mkp(y, k));
			++k;
		}
	}
	cout << k  << endl;

	return 0;
}
0