# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
137058 | 2019-07-27T03:20:43 Z | StevenH | Hotter Colder (IOI10_hottercolder) | C++14 | 755 ms | 8184 KB |
#include "grader.h" #include <cstdio> int HC(int N){ int k=0; if(N==1)return 1; int left=1,right=N; bool last = 0; Guess(left); k++; while(left+1 < right) { //printf("left = %d ,right = %d\n",left,right); int res; int mid=(left+right)/2; if(last==0) { if(k==16 && N<=500)return 1; res = Guess(right); k++; if(res == -1) { if((left+right)%2==0)right = mid - 1; else right = mid; //Guess(right); //last = 1; if(k==16 && N<=500)return 1; Guess(left); last = 0; k++; } else if(res == 1) { left = mid+1; last = 1; } else if(res == 0) { return mid; } } else { if(k==16 && N<=500)return 1; res = Guess(left); k++; if(res == -1) { left = mid+1; if(k==16 && N<=500)return 1; //Guess(left); //last = 0; Guess(right); last = 1; k++; } else if(res == 1) { if((left+right)%2==0)right = mid - 1; else right = mid; last = 0; } else if(res == 0) { return mid; } } } if(left == right)return left; if(k==16 && N<=500)return 1; if(right == left+1) { //printf("%d %d\n",left,right); int res; if(last == 0) { res = Guess(right); if(res == 1)return right; else return left; } else if(last == 1) { res = Guess(left); if(res == 1)return left; else return right; } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 30 ms | 1272 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 35 ms | 1272 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 28 ms | 1272 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Partially correct | 755 ms | 8184 KB | Output is partially correct - alpha = 0.120000000000 |