Submission #2549256
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
double dp[65536];
int main(){
int n;
scanf("%d",&n);
int x, me = 0;
for(int i=0;i<n;i++){
scanf("%d",&x);
me += (1 << x);
}
for(int i=1;i<(1 << 16);i++){
double best_try = 1e10;
int ei = 2 * i;
for(int j=1;j<=16;j++){
double sum = 0;
int cnt = 0;
for(int k=-1;k<=1;k++){
if(ei & (1 << (j+k))){
int target = (ei - (1 << (j+k))) / 2;
sum += dp[target];
cnt++;
}
}
if(cnt == 3){
best_try = min(best_try, sum / 3.0 + 1);
}else if(cnt == 2){
best_try = min(best_try, sum / 2.0 + 1.5);
}else if(cnt == 1){
best_try = min(best_try, sum + 3.0);
}
//if(i == 5) printf("%f\n", best_try);
}
dp[i] = best_try;
}
printf("%.15lf\n", dp[me]);
//printf("%lf %lf %lf %.15lf\n", dp[0], dp[1], dp[4], dp[5]);
}
Submission Info
Submission Time
2018-05-23 02:05:17+0900
Task
J - ボール
User
jihoon
Language
C++14 (GCC 5.4.1)
Score
5
Code Size
863 Byte
Status
AC
Exec Time
9 ms
Memory
768 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:8:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n);
^
./Main.cpp:11:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&x);
^
Judge Result
Set Name
All
Score / Max Score
5 / 5
Status
Set Name
Test Cases
All
00, 01, 02, 03, 90, 91
Case Name
Status
Exec Time
Memory
00
AC
9 ms
768 KB
01
AC
9 ms
768 KB
02
AC
9 ms
768 KB
03
AC
9 ms
768 KB
90
AC
9 ms
768 KB
91
AC
9 ms
768 KB