Submission #292283

# Submission time Handle Problem Language Result Execution time Memory
292283 2020-09-06T17:31:11 Z Nucleist Hotter Colder (IOI10_hottercolder) C++14
53 / 100
720 ms 8192 KB
#include "grader.h"
//Self-control leads to consistency.
#include <bits/stdc++.h> 
using namespace std; 
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#define flash ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define debug(x) cerr << " - " << #x << ": " << x << endl;
#define debugs(x, y) cerr << " - " << #x << ": " << x << " " << #y << ": " << y << endl;
#define all(x) (x).begin(),(x).end()
#define sz(x) (ll)x.size()
#define ll long long
#define INF 1000000000
#define MOD 1000000007
#define pb push_back
#define ve vector<ll>
#define dos pair<ll,ll>
#define vedos vector<dos>
#define rand mt19937 rng(chrono::steady_clock::now().time_since_epoch().count())
#define EPS 0.000001
struct greateri
{
    template<class T>
    bool operator()(T const &a, T const &b) const { return a > b; }
};
void setIO(string s) {
	ios_base::sync_with_stdio(0); cin.tie(0); 
	freopen((s+".in").c_str(),"r",stdin);
	freopen((s+".out").c_str(),"w",stdout);
}
int HC(int N){
   int l=1,r=N;
   ll ans=0;
   int lastr=-1;
   int h=0,g=0;
   while(l<=r){
   		if(l==r){
   			ans=l;
   			break;
   		}
   		if(lastr==r){
   			g=Guess(l);
   			lastr=l;
   			if(g==1)g=-1;
   			else if(g==-1)g=1;
   			else g=0;
   		}
   		else{
   			h=Guess(l);
   			g=Guess(r);
   			lastr=r;
   		}
   		if(r-l==1 && g==1){
   			ans=r;
   			break;
   		}
   		int an=l,za=r;
   		if(g==0){
   			ans=((l+r)>>1);
   			break;
   		}
   		else if(g==1){
   			int newl=((l+r)>>1);
   			if(!(((an+za))%2))newl++;
   			l=min(r,newl);
   		}
   		else{
   			int newr=((l+r)>>1);
   			if(!(((an+za))%2))newr--;
   			r=max(l,newr);
   		}
   }
   return ans;
}

Compilation message

hottercolder.cpp:6: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
    6 | #pragma GCC optimization ("O3")
      | 
hottercolder.cpp:7: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
    7 | #pragma GCC optimization ("unroll-loops")
      | 
hottercolder.cpp: In function 'int HC(int)':
hottercolder.cpp:36:8: warning: variable 'h' set but not used [-Wunused-but-set-variable]
   36 |    int h=0,g=0;
      |        ^
hottercolder.cpp: In function 'void setIO(std::string)':
hottercolder.cpp:29:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   29 |  freopen((s+".in").c_str(),"r",stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hottercolder.cpp:30:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   30 |  freopen((s+".out").c_str(),"w",stdout);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 23 ms 1280 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 23 ms 1280 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 23 ms 1280 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Partially correct 720 ms 8192 KB Output is partially correct - alpha = 0.111111111111