Submission #304858

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
3048582020-09-22 03:06:53tatyamHotter Colder (IOI10_hottercolder)C++17
100 / 100
816 ms24568 KiB
#include <bits/stdc++.h>
using namespace std;
int Guess(int G);
struct T{
map<int, int> a;
T(){
for(int n = 1; n < 30; n++){
const int x = ((1 << n + 1) + (n & 1 ? -1 : 1)) / 3;
const int y = ((1 << n) + (n & 1 ? -1 : 1) * 2) / 3 + 1;
a[x] = y;
}
}
int operator[](int x) const {
return a.upper_bound(x)->second;
}
} edge;
int HC(int N){
if(N == 1) return 1;
int l = 1, r = N, p = (l + r) / 2 + 1;
Guess(p);
bool first = 1;
while(l < r){
const int p2 = [&]{
if(first){
first = 0;
return (l + r) / 2;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

hottercolder.cpp: In constructor 'T::T()':
hottercolder.cpp:10:36: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
   10 |             const int x = ((1 << n + 1) + (n & 1 ? -1 : 1)) / 3;
      |                                  ~~^~~
hottercolder.cpp: In lambda function:
hottercolder.cpp:38:68: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   38 |             if(l <= ans && ans <= r && (r - l + 1) & 2) if(ans < p && (ans ^ l) & 1 || ans > p && (ans ^ r) & 1){
      |                                                            ~~~~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...