# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
614072 | penguinhacker | 비스킷 담기 (IOI20_biscuits) | C++17 | 9 ms | 1192 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ar array
ll count_tastiness(ll x, vector<ll> a) {
vector<ll> v(60);
for (int i=0; i<a.size(); ++i)
v[i]+=(1ll*a[i])<<i;
for (int i=1; i<60; ++i)
v[i]+=v[i-1];
for (int i=0; i<60; ++i)
v[i]/=x;
vector<ar<ll, 2>> dp(60);
for (int i=0; i<60; ++i) {
dp[i][0]=i?dp[i-1][0]+dp[i-1][1]:1;
if (v[i]>=(1ll<<i+1)-1)
dp[i][1]=dp[i][0];
else if (v[i]>=1ll<<i) {
dp[i][1]=1;
for (ll x=v[i]-(1ll<<i); x;) {
int bit=63-__builtin_clzll(x);
dp[i][1]+=dp[bit][0];
x-=1ll<<bit;
}
//dp[i][1]=(v[i]==1ll<<i)?1:dp[63-__builtin_clzll(v[i]-(1ll<<i))][1]+dp[63-__builtin_clzll(v[i]-(1ll<<i))][0];
}
//if (i<3)
// cout << dp[i][0] << " " << dp[i][1] << endl;
}
return dp[59][0]+dp[59][1];
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |