Submission #1240405

#TimeUsernameProblemLanguageResultExecution timeMemory
1240405Ghulam_Junaid비스킷 담기 (IOI20_biscuits)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "biscuits.h"
#include "grader.cpp"
using namespace std;

typedef long long ll;

map<vector<ll>, ll> memo;
vector<ll> nvec;

ll f(vector<ll> vec){
    if (memo.find(vec) != memo.end()) 
        return memo[vec];
    
    ll sz = vec.size();
    if (sz == 0) 
        return memo[vec] = 1;

    nvec = vec;
    if (vec.back()){
        nvec.pop_back();
        return memo[vec] = 2 * f(nvec);
    }
    nvec.pop_back();

    vector<ll> prv = vec;

    ll tmp = f(nvec);
    ll cur = (1ll << (sz - 1));
    for (ll i = sz - 2; i >= 0; i --){
        if (cur >= (1ll << i) and vec[i]){
            ll quo = min(vec[i], cur / (1ll << i));
            vec[i] -= quo;
            cur -= quo * (1ll << i);
        }
    }

    nvec = vec;
    nvec.pop_back();

    if (cur == 0) return memo[prv] = tmp + f(nvec);
    return memo[prv] = tmp;
}

ll count_tastiness(ll x, vector<ll> a){
    ll k = a.size();
    ll ans = 1, sm = 0;
    for (ll i = 0; i < k; i ++)
        sm += a[i] * (1ll << i);

    while (a.size() < 59)
        a.push_back(0);
	return f(a);
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccapfYNn.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccG8rLsf.o:biscuits.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status