CSES - UKIEPC 2016 - Results
Submission details
Task:Secret Santa
Sender:Game of Nolife
Submission time:2016-11-12 13:10:18 +0200
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.06 sdetails
#6ACCEPTED0.06 sdetails
#7ACCEPTED0.06 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.06 sdetails
#10ACCEPTED0.06 sdetails
#11ACCEPTED0.06 sdetails
#12ACCEPTED0.05 sdetails
#13ACCEPTED0.05 sdetails
#14ACCEPTED0.05 sdetails
#15ACCEPTED0.05 sdetails
#16ACCEPTED0.05 sdetails
#17ACCEPTED0.06 sdetails
#18ACCEPTED0.07 sdetails
#19ACCEPTED0.05 sdetails
#20ACCEPTED0.06 sdetails
#21ACCEPTED0.06 sdetails
#22ACCEPTED0.06 sdetails
#23ACCEPTED0.06 sdetails
#24ACCEPTED0.06 sdetails
#25ACCEPTED0.06 sdetails
#26ACCEPTED0.05 sdetails
#27ACCEPTED0.05 sdetails
#28ACCEPTED0.05 sdetails
#29ACCEPTED0.06 sdetails
#30ACCEPTED0.05 sdetails
#31ACCEPTED0.05 sdetails
#32ACCEPTED0.07 sdetails

Code

#include <bits/stdc++.h>
#define F first
#define S second
#define X real()
#define Y imag()
using namespace std;
typedef long long ll;
typedef long double ld;

const ld c=exp(-1);
const ll lim=1000;
ld dp[lim+1];
ld binom[lim+1][lim+1];

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	ll n;
	cin>>n;
	cout<<setprecision(15);
	if (n>lim) {
		ld res=1-c;
		cout<<res<<endl;
	} else {
		dp[0]=1;
		dp[1]=0;
		for (ll i=2;i<=n;i++) {
			for (ll j=i-2;j>=0;j--) {
				ld p=1.0/i;
				dp[i]+=p*dp[j];
			}
		}
		cout<<1-dp[n]<<endl;
	}
}

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output
1.0000000000

user output
1

Test 2

Verdict: ACCEPTED

input
999

correct output
0.6321205588

user output
0.632120558828558

Test 3

Verdict: ACCEPTED

input
1000

correct output
0.6321205588

user output
0.632120558828558

Test 4

Verdict: ACCEPTED

input
1000000

correct output
0.6321205588

user output
0.632120558828558

Test 5

Verdict: ACCEPTED

input
1000000000000

correct output
0.6321205588

user output
0.632120558828558

Test 6

Verdict: ACCEPTED

input
7

correct output
0.6321428571

user output
0.632142857142857

Test 7

Verdict: ACCEPTED

input
8

correct output
0.6321180556

user output
0.632118055555556

Test 8

Verdict: ACCEPTED

input
9

correct output
0.6321205588

user output
0.632120811287478

Test 9

Verdict: ACCEPTED

input
11

correct output
0.6321205588

user output
0.632120560766394

Test 10

Verdict: ACCEPTED

input
12

correct output
0.6321205588

user output
0.632120558678718

Test 11

Verdict: ACCEPTED

input
13

correct output
0.6321205588

user output
0.632120558839309

Test 12

Verdict: ACCEPTED

input
14

correct output
0.6321205588

user output
0.632120558827838

Test 13

Verdict: ACCEPTED

input
19

correct output
0.63212056

user output
0.632120558828558

Test 14

Verdict: ACCEPTED

input
20

correct output
0.63212056

user output
0.632120558828558

Test 15

Verdict: ACCEPTED

input
21

correct output
0.63212056

user output
0.632120558828558

Test 16

Verdict: ACCEPTED

input
45

correct output
0.63212056

user output
0.632120558828558

Test 17

Verdict: ACCEPTED

input
59

correct output
0.63212056

user output
0.632120558828558

Test 18

Verdict: ACCEPTED

input
72

correct output
0.63212056

user output
0.632120558828558

Test 19

Verdict: ACCEPTED

input
98

correct output
0.63212056

user output
0.632120558828558

Test 20

Verdict: ACCEPTED

input
104

correct output
0.63212056

user output
0.632120558828558

Test 21

Verdict: ACCEPTED

input
299

correct output
0.63212056

user output
0.632120558828558

Test 22

Verdict: ACCEPTED

input
986

correct output
0.63212056

user output
0.632120558828558

Test 23

Verdict: ACCEPTED

input
2233

correct output
0.63212056

user output
0.632120558828558

Test 24

Verdict: ACCEPTED

input
112233

correct output
0.63212056

user output
0.632120558828558

Test 25

Verdict: ACCEPTED

input
4123123

correct output
0.63212056

user output
0.632120558828558

Test 26

Verdict: ACCEPTED

input
123321123

correct output
0.63212056

user output
0.632120558828558

Test 27

Verdict: ACCEPTED

input
4

correct output
0.6250000000

user output
0.625

Test 28

Verdict: ACCEPTED

input
5

correct output
0.6333333333

user output
0.633333333333333

Test 29

Verdict: ACCEPTED

input
10

correct output
0.6321205357

user output
0.632120535714286

Test 30

Verdict: ACCEPTED

input
66

correct output
0.6321205588

user output
0.632120558828558

Test 31

Verdict: ACCEPTED

input
475

correct output
0.6321205588

user output
0.632120558828558

Test 32

Verdict: ACCEPTED

input
770

correct output
0.6321205588

user output
0.632120558828558