Submission #893273

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
8932732023-12-26 19:57:58ksujay2Two Currencies (JOI23_currencies)C++17
100 / 100
4265 ms33224 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int lg(unsigned long long i) { return i ? __builtin_clzll(1) - __builtin_clzll(i) : -1; }
struct BIT {
vector<ll> tree;
BIT(int n) { tree = vector<ll>(n + 1); }
ll sum(int k) { ll s = 0; while(k >= 1) s += tree[k], k -= k&-k; return s; }
void add(int k, ll x) { while (k < (int)tree.size()) tree[k] += x, k += k&-k; }
int lb(ll x) {
ll s = 0, p = 0;
for(int i = lg(tree.size()); i >= 0; i--)
if(p + (1 << i) < tree.size() && s + tree[p + (1 << i)] <= x)
p += (1 << i), s += tree[p];
return p;
}
};
struct Edge {
int a, b;
vector<int> c;
};
struct Query {
int S, E, i;
ll s;
};
const int BS = 450;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

currencies.cpp: In member function 'int BIT::lb(ll)':
currencies.cpp:14:29: 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]
   14 |             if(p + (1 << i) < tree.size() && s + tree[p + (1 << i)] <= x)
      |                ~~~~~~~~~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...