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
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
AC × 6
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