Submission #565423

#TimeUsernameProblemLanguageResultExecution timeMemory
5654232fat2code비스킷 담기 (IOI20_biscuits)C++17
9 / 100
1089 ms340 KiB
#include "biscuits.h"
#include <bits/stdc++.h>
#define fr first
#define sc second
#define all(s) s.begin(), s.end()
#define int long long
using namespace std;

int ans;

int count_tastiness(int x, vector<int> a) {
    ans = 1;
	int sum = 0;
	int nrbiti = (int)a.size();
	for(int i=0;i<nrbiti;i++){
        sum += a[i] * (1LL << i);
	}
	for(int curr=1;curr<=(sum/x);curr++){
        vector<int>b = a;
        b.push_back(0);
        for(int i=0;(1LL<<i)<=curr;i++){
            if(i == b.size() - 1) b.push_back(0);
            if(curr & (1LL<<i) && b[i] < x){
                goto next;
            }
            else{
                if(curr & (1LL << i)) b[i] -= x;
                b[i+1] += (b[i] / 2);
            }
        }
        ++ans;
        next:;
	}
	return ans;
}

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:22:18: 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]
   22 |             if(i == b.size() - 1) b.push_back(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...