QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#885431#10071. Horaguleng2007#Compile Error//C++201.1kb2025-02-06 15:38:262025-02-06 15:38:27

Judging History

This is the latest submission verdict.

  • [2025-02-06 15:38:27]
  • Judged
  • [2025-02-06 15:38:26]
  • Submitted

answer

#include <bits/stdc++.h>
#include "hora.h"
using namespace std;

int calc(int x)
{
	x %= n;
	return ask(x,(x+k-1)%n)*2-k;
}

int calc(int l,int r)
{
	if(r>l)
		return calc(l,r+n);

	if(l==r)
		return l;

	int mid=(l+r)/2, val=calc(mid);
	if(val<0)
		return calc(mid+1,r);
	if(val>0)
		return calc(l,mid-1);
	return mid;
}

vector <int> vec;

int calcsmall(int l,int r)
{
	if(l==r)
		return vec[l];

	int mid=(l+r)/2, val=calc((vec[mid]+k-1)%n);
	if(val<=0)
		return calc(l,mid);
	return calc(mid+1,r);
}

int calcbig(int l,int r)
{
	if(l==r)
		return vec[l];

	int mid=(l+r)/2, val=calc((vec[mid]+k-1)%n);
	if(val>=0)
		return calc(l,mid);
	return calc(mid+1,r);
}

int solve(int N,int K)
{
	n=N, k=K;
	if(k==n)
		return 0;

	if(k%2==1)
		k--;

	if(k==0)
		return 0;

	vec.clear();
	vec.push_back(0);
	for(int i=k;i!=0;i=(i+k)%n)
		vec.push_back(i);

	int val=calc(vec.back());
	if(val==0)
		return vec.back();

	int id1, id2;
	if(val>0)
		id2=vec.back(), vec.pop_back(), id1=calcsmall(0,vec.size()-1);
	else
		id1=vec.back(), vec.pop_back(), id2=calcbig(0,vec.size()-1);

	return calc(id1,id2)%n;
}

Details

answer.code: In function ‘int calc(int)’:
answer.code:7:14: error: ‘n’ was not declared in this scope
    7 |         x %= n;
      |              ^
answer.code:8:25: error: ‘k’ was not declared in this scope
    8 |         return ask(x,(x+k-1)%n)*2-k;
      |                         ^
answer.code: In function ‘int calc(int, int)’:
answer.code:14:33: error: ‘n’ was not declared in this scope
   14 |                 return calc(l,r+n);
      |                                 ^
answer.code: In function ‘int calcsmall(int, int)’:
answer.code:34:45: error: ‘k’ was not declared in this scope
   34 |         int mid=(l+r)/2, val=calc((vec[mid]+k-1)%n);
      |                                             ^
answer.code:34:50: error: ‘n’ was not declared in this scope
   34 |         int mid=(l+r)/2, val=calc((vec[mid]+k-1)%n);
      |                                                  ^
answer.code: In function ‘int calcbig(int, int)’:
answer.code:45:45: error: ‘k’ was not declared in this scope
   45 |         int mid=(l+r)/2, val=calc((vec[mid]+k-1)%n);
      |                                             ^
answer.code:45:50: error: ‘n’ was not declared in this scope
   45 |         int mid=(l+r)/2, val=calc((vec[mid]+k-1)%n);
      |                                                  ^
answer.code: In function ‘int solve(int, int)’:
answer.code:53:9: error: ‘n’ was not declared in this scope
   53 |         n=N, k=K;
      |         ^
answer.code:53:14: error: ‘k’ was not declared in this scope
   53 |         n=N, k=K;
      |              ^