Submission #818647

#TimeUsernameProblemLanguageResultExecution timeMemory
818647kevinsogoPacking Biscuits (IOI20_biscuits)C++17
9 / 100
1089 ms936020 KiB
#include <bits/stdc++.h> using namespace std; #include "biscuits.h" using ll = long long; using lll = __int128; using seq = vector<lll>; seq con(int n, lll v) { return seq(n, v); } seq inc(seq s, lll a) { for (lll& v: s) v += a; return s; } seq conc(seq a, const seq& b, lll v = 0) { assert(a.back() <= b.front()); a.insert(a.end(), b.begin(), b.end()); return inc(a, v); } seq drop(const seq& a, lll u = 0) { int i = 0; while (a[i] < u) i++; return seq(a.begin() + i, a.end()); } int size(const seq& s) { return s.size(); } ll count_tastiness(ll x, vector<ll> a) { a.resize(62); auto s = con(1, 0); for (int i = 0; i < a.size(); i++) s = drop(conc(inc(s, lll(-x) << i), s, lll(a[i]) << i)); return size(s); }

Compilation message (stderr)

biscuits.cpp: In function 'll count_tastiness(ll, std::vector<long long int>)':
biscuits.cpp:32:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |     for (int i = 0; i < a.size(); i++) s = drop(conc(inc(s, lll(-x) << i), s, lll(a[i]) << i));
      |                     ~~^~~~~~~~~~
#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...