結果

問題 No.475 最終日 - Writerの怠慢
ユーザー anta
提出日時 2016-12-25 00:14:47
言語 C++14
(gcc 8.2.0)
結果
AC  
実行時間 17 ms
コード長 1,226 Byte
コンパイル時間 1,407 ms
使用メモリ 2,344 KB
最終ジャッジ日時 2019-07-18 02:38:01

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
00_small_0.txt AC 4 ms
1,548 KB
01_small_1.txt AC 4 ms
1,552 KB
02_small_2.txt AC 4 ms
1,564 KB
03_small_3.txt AC 5 ms
1,644 KB
04_large_0.txt AC 16 ms
2,340 KB
05_large_1.txt AC 15 ms
2,344 KB
06_large_2.txt AC 14 ms
2,340 KB
07_large_3.txt AC 17 ms
2,344 KB
08_large_4.txt AC 15 ms
2,344 KB
09_large_5.txt AC 15 ms
2,344 KB
10_large_6.txt AC 15 ms
2,344 KB
11_large_7.txt AC 15 ms
2,340 KB
12_corner_0.txt AC 13 ms
2,344 KB
12_corner_1.txt AC 14 ms
2,340 KB
challenge01.txt AC 4 ms
1,544 KB
テストケース一括ダウンロード

ソースコード

diff #
#include "bits/stdc++.h"
using namespace std;
#define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i))
#define rer(i,l,u) for(int (i)=(int)(l);(i)<=(int)(u);++(i))
#define reu(i,l,u) for(int (i)=(int)(l);(i)<(int)(u);++(i))
static const int INF = 0x3f3f3f3f; static const long long INFL = 0x3f3f3f3f3f3f3f3fLL;
typedef vector<int> vi; typedef pair<int, int> pii; typedef vector<pair<int, int> > vpii; typedef long long ll;
template<typename T, typename U> static void amin(T &x, U y) { if (y < x) x = y; }
template<typename T, typename U> static void amax(T &x, U y) { if (x < y) x = y; }

int main() {
	int N; int S; int id;
	while (~scanf("%d%d%d", &N, &S, &id)) {
		vector<int> a(N);
		for (int i = 0; i < N; ++i)
			scanf("%d", &a[i]);
		vector<int> points(N - 1);
		rep(i, N - 1)
			points[i] = 50 * S + 500 * S / (8 + 2 * (i + 1));
		int X = a[id] + 100 * S;
		vector<int> cnt(N, 0);
		rep(i, N) if (i != id) {
			int t = (int)(lower_bound(points.begin(), points.end(), X - a[i], greater<int>()) - points.begin());
			++cnt[t];
		}
		rep(i, N - 1) cnt[i + 1] += cnt[i];
		double ans = 1;
		rep(i, N - 1) {
			ans *= (cnt[i] - i) * 1. / (N - 1 - i);
			if (cnt[i] - i == 0) break;
		}
		printf("%.10f\n", ans);
	}
	return 0;
}
0