Submission #834169

#TimeUsernameProblemLanguageResultExecution timeMemory
834169farukPacking Biscuits (IOI20_biscuits)C++17
Compilation error
0 ms0 KiB
#include "biscuits.h" #include <bits/stdc++.h> #define all(a) a.begin(), a.end() using namespace std; typedef long long ll; const ll maxsum = 1e5+1; const ll maxsiz = 71; long long count_tastiness(long long x, std::vector<long long> a) { if (x == 1) { ll out = 1; a.resize(maxsiz); for (int i = 0; i < a.size()-1; i++) { ll to_remove = 0; if (a[i] % 2) to_remove = a[i] - 1LL; else if (a[i] > 0) to_remove = a[i] - 2LL; a[i + 1] += to_remove / 2LL; a[i] -= to_remove; } ll has_l = 0, hasnt_l = 1; for (int i = 0; i < a.size(); i++) { if (a[i] == 0) { out *= has_l + hasnt_l; has_l = 0, hasnt_l = 1; } else { if (a[i] == 2) { has_l += hasnt_l; hasnt_l *= 2LL; } } return out; } x = 1; ll out = 0; a.resize(61); for (int val = 0; val < maxsum; val++) { vector<ll> curr = a; int num = 0; bool ok = true; for (ll a = 0; a < curr.size(); a++) { num += curr[a]; if ((val & (1LL <<a)) != 0) { if (num < x) ok = false; else num -= x; } num /= 2; } if (ok) out++; } return out; } // 0 1 2 3 4 5 6 7 8 9 10

Compilation message (stderr)

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:15:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |   for (int i = 0; i < a.size()-1; i++) {
      |                   ~~^~~~~~~~~~~~
biscuits.cpp:27:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |   for (int i = 0; i < a.size(); i++) {
      |                   ~~^~~~~~~~~~
biscuits.cpp:41:5: error: redeclaration of 'll out'
   41 |  ll out = 0;
      |     ^~~
biscuits.cpp:13:6: note: 'll out' previously declared here
   13 |   ll out = 1;
      |      ^~~
biscuits.cpp:47:20: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |   for (ll a = 0; a < curr.size(); a++) {
      |                  ~~^~~~~~~~~~~~~
biscuits.cpp:63:1: error: expected '}' at end of input
   63 | }
      | ^
biscuits.cpp:11:66: note: to match this '{'
   11 | long long count_tastiness(long long x, std::vector<long long> a) {
      |                                                                  ^
biscuits.cpp:63:1: warning: control reaches end of non-void function [-Wreturn-type]
   63 | }
      | ^