Submission #790690

# Submission time Handle Problem Language Result Execution time Memory
790690 2023-07-23T06:12:58 Z ttamx The Big Prize (IOI17_prize) C++14
0 / 100
3 ms 5012 KB
#include "prize.h"
#include<bits/stdc++.h>

using namespace std;

const int N=2e5+5;

struct fenwick{
	int t[N];
	void add(int i,int v){
		while(i<N)t[i]+=v,i+=i&-i;
	}
	int read(int i){
		int res=0;
		while(i>0)res+=t[i],i-=i&=-i;
		return res;
	}
}f;

int n;
int ans=-1;
vector<vector<int>> mem(N);

vector<int>& ask2(int x){
	if(mem[x].empty())mem[x]=ask(x);
	return mem[x];
}

void bsearch(){
	int l=0,r=n-1;
	while(l<r){
		int m=(l+r)/2;
		auto &res=ask2(m);
		if(res[0]+res[1]==0)return void(ans=m);
		if(res[0]){
			res[0]--;
			r=m-1;
		}else{
			res[1]--;
			l=m+1;
		}
	}
}

int find_best(int _n) {
	n=_n;
	int l=0,r=n-1;
	while(ans==-1)bsearch();
	return ans;
}

Compilation message

prize.cpp: In function 'int find_best(int)':
prize.cpp:47:6: warning: unused variable 'l' [-Wunused-variable]
   47 |  int l=0,r=n-1;
      |      ^
prize.cpp:47:10: warning: unused variable 'r' [-Wunused-variable]
   47 |  int l=0,r=n-1;
      |          ^
# Verdict Execution time Memory Grader output
1 Correct 2 ms 4944 KB Output is correct
2 Correct 2 ms 4944 KB Output is correct
3 Correct 3 ms 5008 KB Output is correct
4 Incorrect 2 ms 4944 KB answer is not correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 4944 KB Output is correct
2 Correct 3 ms 4944 KB Output is correct
3 Correct 3 ms 5012 KB Output is correct
4 Incorrect 3 ms 5012 KB answer is not correct
5 Halted 0 ms 0 KB -