제출 #338997

#제출 시각아이디문제언어결과실행 시간메모리
338997ogibogi2004Gap (APIO16_gap)C++14
100 / 100
69 ms3296 KiB
#include<bits/stdc++.h>
#include "gap.h"
using namespace std;
long long findGap(int T,int N)
{
	long long l,r,n=N;
	if(T==1)
	{
		MinMax(0ll,(long long)1e18,&l,&r);
		vector<long long> numbers;
		numbers.push_back(l);
		numbers.push_back(r);
		//cout<<l<<" "<<r<<endl;
		for(int j=1;j<(n+1)/2;j++)
		{
			MinMax(l+1,r-1,&l,&r);
			if(l==-1)break;
			numbers.push_back(l);
			numbers.push_back(r);
			//cout<<"??\n";
		}
		sort(numbers.begin(),numbers.end());
		long long ans=0;
		for(long long i=1;i<numbers.size();i++)
		{
			ans=max(ans,numbers[i]-numbers[i-1]);
		}
		return ans;
	}
	if(T==2)
	{
		MinMax(0ll,(long long)1e18,&l,&r);
		if(n==2)
		{
			return r-l;
		}
		long long l1=l+1,r1=r-1,bucket_size=(r1-l1+n-3)/(n-2);
		vector<long long>numbers;
		numbers.push_back(l);
		for(long long i=0;i*bucket_size+l1<r1;i++)
		{
			long long xd1,xd2;
			MinMax(i*bucket_size+l1,min(r1,(i+1)*bucket_size+l1-1),&xd1,&xd2);
			if(xd1!=-1)numbers.push_back(xd1);
			if(xd2!=-1)numbers.push_back(xd2);
		}
		numbers.push_back(r);
		long long ans=0;
		for(long long i=1;i<numbers.size();i++)
		{
			ans=max(ans,numbers[i]-numbers[i-1]);
		}
		return ans;
	}
}

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

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:24:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |   for(long long i=1;i<numbers.size();i++)
      |                     ~^~~~~~~~~~~~~~~
gap.cpp:49:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |   for(long long i=1;i<numbers.size();i++)
      |                     ~^~~~~~~~~~~~~~~
gap.cpp:55:1: warning: control reaches end of non-void function [-Wreturn-type]
   55 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...