Submission #400741

#TimeUsernameProblemLanguageResultExecution timeMemory
400741REALITYNBPacking Biscuits (IOI20_biscuits)C++14
0 / 100
9 ms332 KiB
#include <bits/stdc++.h> 
#include "biscuits.h"
#define int long long 
using namespace std; 
int count_tastiness(int k,vector<int> a){
    int n =120 ; 
    while(n!=a.size()) a.push_back(0) ; 
    vector<int> dp(n+1); 
    dp[n]=1; 
    for(int i=n-1;i>-1;i--){
        int sum = 0 ; 
        vector<int> b=a; 
        int stop = i+1; 
        for(int j=i;j<n;j++){
            if(b[j]>1){
                b[j+1]+=b[j]/2; 
                if(b[j]&1) b[j]=1; 
                else b[j]=0; 
                stop=j+2; 
            }
            else break ; 
        }
        if(a[i]==0) {
            dp[i]+=dp[i+1] ; 
            continue ; 
        }
        vector<int> in ; 
        for(int j=i;j<stop;j++) if(b[j]) in.push_back(j) ; 
        for(int j=1;j<in.size();j++)
            dp[i]+=dp[stop]*(1LL<<(in[j-1]-i)); 
        dp[i]+=dp[stop]; 
        dp[i]+=dp[stop]*(1<<(in.back()-i)) ; 
    }
    return dp[0]-1 ; 
}

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:7:12: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 |     while(n!=a.size()) a.push_back(0) ;
      |           ~^~~~~~~~~~
biscuits.cpp:29:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |         for(int j=1;j<in.size();j++)
      |                     ~^~~~~~~~~~
biscuits.cpp:11:13: warning: unused variable 'sum' [-Wunused-variable]
   11 |         int sum = 0 ;
      |             ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...