제출 #114507

#제출 시각아이디문제언어결과실행 시간메모리
114507tinjyu통행료 (IOI18_highway)C++14
5 / 100
37 ms4808 KiB
#include "highway.h"
#include <iostream>
using namespace std;
int m,ans[1000005],tag[105];
int find(int s,int e)
{
	std::vector<int> w(m);
	for(int i=0;i<=m;i++)
	{
		w[i] = 0;
	}
	for(int i=s;i<=e;i++)
	{
		w[i]=1;
	}
	int t=ask(w);
	if(t==e-s+1)
	{
		for(int i=s;i<=e;i++)
		{
			ans[0]++;
			ans[ans[0]]=i;
		}
	}
	else if(t==0)return 0;
	else
	{
		find(s,(s+e)/2);
		find((s+e)/2,e);
	}
}
void find_pair(int N, std::vector<int> U, std::vector<int> V, int A, int B) {
  m = U.size();
  std::vector<int> w(m);
  int tmp=ask(w);
  if(N<=100)
  {
  	for(int i=0;i<m;i++)
  	{		
  		w[i]=1;
  		int t=ask(w);
  		if(t>tmp)
  		{
  			//cout<<i<<" "<<U[i]<<" "<<V[i]<<endl;
  			tag[U[i]]++;
  			tag[V[i]]++;
		  }
		  w[i]=0;
	}
	int s=-1,t=-1;
	for(int i=0;i<N;i++)
	{
		if(tag[i]==1)
		{
			if(s==-1)s=i;
			else t=i;
		}
	}
	return answer(s,t);
  }
  find(0,m);
  int s=N+1,t=0;
  for(int i=1;i<=ans[0];i++)
  {
  	s=min(ans[i],s);
  	t=max(ans[i]+1,t);
  }
  answer(s, t);
}

컴파일 시 표준 에러 (stderr) 메시지

highway.cpp: In function 'int find(int, int)':
highway.cpp:31:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...