Submission #1074371

# Submission time Handle Problem Language Result Execution time Memory
1074371 2024-08-25T10:08:13 Z beaconmc Hotter Colder (IOI10_hottercolder) C++14
0 / 100
10000 ms 44804 KB
#include "grader.h"
#include <bits/stdc++.h>

typedef long long ll;

#define FOR(i,x,y) for(ll i=x; i<y; i++)
#define FORNEG(i,x,y) for(lli = x; i>y; i--)
using namespace std;


ll n;
map<ll,ll> sus;
ll cnt = 0;
ll idkman = -1;
int guess(ll a){

   if (a==0) return -1;
   if (a==n+1) return -1;
   cnt++;
   idkman = a;
   return  Guess(a);

}
int solve(int a, int b){
   ll lmao = rand()%2;
   // cout << a << " " << b << endl;

   if (a==b) return a;
   if (idkman == (a+b)/2){
      cout << "LMAO" << endl;
      ll mid = idkman;
      ll right = guess(idkman+1);
      if (right == -1){
         return solve(a, mid);
      }else{
         return solve(mid+1, b);
      }
   }
   else{

      if (lmao == 0){
         ll mid = (a+b)/2;
         ll midleft = (a+mid)/2;
         ll midright = (b+mid+1)/2;

         ll left, right;
         left = guess(midleft);
         right = guess(midright);
         if (right == 0 ){
            return (midleft+midright)/2;
         }
         else if (right == -1){
            if ((midleft+midright)%2==0)return solve(a, mid-1);
            else return solve(a,mid);
         }else{
            return solve(mid+1, b);
         }
      } else{
         ll mid = (a+b+1)/2;
         ll midleft = (a+mid)/2;
         ll midright = (b+mid+1)/2;

         ll left, right;
         right = guess(midright);
         left = guess(midleft);
         // cout << a << " " << b << " " << midleft << " " << midright << " " << left << " " << right << endl;

         if (left == 0 ){
            return (midleft+midright)/2;
         }
         else if (left == -1){
            if ((midleft+midright)%2==0) return solve(mid+1, b);
            else return solve(mid, b);
            
         }else{
            return solve(a, mid);

         }
      }


   }
}


int HC(int N){
   idkman = -1;
   srand(69420);
   sus.clear();
   n = N;
   cnt = 0;
   ll ans = solve(1,N);
   // cout << ans << " " << cnt << endl;
   return ans;
}

Compilation message

hottercolder.cpp: In function 'int solve(int, int)':
hottercolder.cpp:46:13: warning: variable 'left' set but not used [-Wunused-but-set-variable]
   46 |          ll left, right;
      |             ^~~~
hottercolder.cpp:63:19: warning: variable 'right' set but not used [-Wunused-but-set-variable]
   63 |          ll left, right;
      |                   ^~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 555 ms 6224 KB 잘못된 접근입니다.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 531 ms 2768 KB 잘못된 접근입니다.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 576 ms 4396 KB 잘못된 접근입니다.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 10074 ms 44804 KB Time limit exceeded
2 Halted 0 ms 0 KB -