Submission #796542

# Submission time Handle Problem Language Result Execution time Memory
796542 2023-07-28T13:44:56 Z alexander707070 Packing Biscuits (IOI20_biscuits) C++14
0 / 100
1 ms 980 KB
#include<bits/stdc++.h>
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")
using namespace std;
 
const long long mod=1e9+7;
 
long long x,sum;
int k;
vector<long long> br,total;

long long dp[100][100007];
int li[100][100007],tim;

long long ff(int bit,int rem){
    if(bit==-1)return 1;
    if(bit==0 and br[0]-rem>=x)return 2;
    else if(bit==0)return 1;

    if(li[bit][rem]==tim)return dp[bit][rem];
    li[bit][rem]=tim;

    dp[bit][rem]=ff(bit-1,0);

    if(total[bit]-rem>=x){  
        long long curr=max(x-(br[bit]-rem),0LL)*2;

        for(int i=bit-1;i>=0;i--){
            if(curr<=br[i]){
                dp[bit][rem]+=ff(i,curr);
                break;
            }else{
                curr-=br[i]; curr*=2;
            }
        }
    }

    return dp[bit][rem];
}
 
long long count_tastiness(long long X,vector<long long> a){
    k=int(a.size()); x=X;
    br.resize(70); total.resize(70);

    for(int i=0;i<k;i++){
        br[i]=a[i];

        total[i]=a[i];
        if(i>0)total[i]+=total[i-1]/2;
    }
    for(int i=k;i<62;i++){
        total[i]=total[i-1]/2;
    }

    tim++;
    return ff(61,0);
}

/*
int main(){
    cout<<count_tastiness(2, {2, 1, 2})<<"\n";
    cout<<count_tastiness(2, {2, 1, 2})<<"\n";
}
*/

# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 980 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 852 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 852 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 980 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 980 KB Output isn't correct
2 Halted 0 ms 0 KB -