답안 #830436

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
830436 2023-08-19T06:35:33 Z amunduzbaev 비스킷 담기 (IOI20_biscuits) C++17
21 / 100
7 ms 1124 KB
#include "biscuits.h"

#include "bits/stdc++.h"
using namespace std;

#define ar array
typedef long long ll;
//~ #defien int ll

ll count_tastiness(ll x, vector<ll> a) {
	
	int k = 60;
	a.resize(k);
	vector<ll> pref(k);
	for(int i=0;i<k;i++){
		if(i) pref[i] = pref[i - 1];
		pref[i] += a[i] * (1ll << i);
	}
	
	//~ for(int i=0;i<k;i++){
		//~ cout<<pref[i]<<" ";
	//~ }
	//~ cout<<"\n";
	
	ll sum = 1;
	vector<ll> dp(k), L(k), toob(k);
	
	for(int i=0;i<k;i++){
		L[i] = (1ll << (i + 1));
		if(pref[i] / x < (1ll << i)) continue;
		L[i] = pref[i] / x + 1;
		ll L_ = L[i] - (1ll << i);
		dp[i] = sum;
		
		for(int j=i-1;~j;j--){
			if(L_ <= (1ll << j)){
				toob[i] += dp[j];
			} else {
				if(L[j] <= L_) break;
				else toob[i] -= toob[j], L_ -= (1ll << j);
			}
		}
		
		dp[i] -= toob[i];
		
		//~ cout<<dp[i]<<" ";
		sum += dp[i];
	}
	//~ cout<<"\n";
	
	return sum;
}

# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 300 KB Output is correct
9 Correct 0 ms 300 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 300 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 300 KB Output is correct
6 Correct 0 ms 300 KB Output is correct
7 Correct 0 ms 296 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 304 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 300 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 300 KB Output is correct
10 Incorrect 1 ms 212 KB Output isn't correct
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 312 KB Output is correct
2 Incorrect 7 ms 1124 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 300 KB Output is correct
9 Correct 0 ms 300 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 340 KB Output is correct
16 Correct 1 ms 300 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Correct 0 ms 300 KB Output is correct
20 Correct 0 ms 300 KB Output is correct
21 Correct 0 ms 296 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 0 ms 212 KB Output is correct
24 Correct 0 ms 304 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 1 ms 212 KB Output is correct
27 Correct 0 ms 212 KB Output is correct
28 Correct 0 ms 300 KB Output is correct
29 Correct 1 ms 212 KB Output is correct
30 Correct 0 ms 212 KB Output is correct
31 Correct 1 ms 212 KB Output is correct
32 Correct 1 ms 300 KB Output is correct
33 Incorrect 1 ms 212 KB Output isn't correct
34 Halted 0 ms 0 KB -