Submission #672782

#TimeUsernameProblemLanguageResultExecution timeMemory
672782tbzardPacking Biscuits (IOI20_biscuits)C++14
9 / 100
1100 ms84992 KiB
#include <bits/stdc++.h> using namespace std; long long count_tastiness(long long x, vector<long long> a){ long double b = 1, sum = 0; set<long double> ans; ans.insert(0); for(int i=0;i<a.size();i++){ sum += b*a[i]; while(1){ vector<long double> add; set<long double>::iterator it = ans.upper_bound(sum/x); it--; for(;;it--){ long double val = *it+(1ll<<i); if(sum/x >= val){ if(ans.find(val) != ans.end()) break; add.push_back(val); } if(it == ans.begin()) break; } for(int j=0;j<add.size();j++){ ans.insert(add[j]); } if(add.empty()) break; } b *= 2; } return (long long)ans.size(); }

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:7:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 |     for(int i=0;i<a.size();i++){
      |                 ~^~~~~~~~~
biscuits.cpp:21:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |             for(int j=0;j<add.size();j++){
      |                         ~^~~~~~~~~~~
#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...