Submission #99940

#TimeUsernameProblemLanguageResultExecution timeMemory
99940TadijaSebezGap (APIO16_gap)C++11
100 / 100
76 ms2484 KiB
#include "gap.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll lim=1e18;
ll findGap(int T, int N)
{
	if(T==1)
	{
		ll a,b,c=-1,d=-1;
		ll l=0,r=lim,ans=0;
		vector<ll> v;
		while(l<=r && v.size()<N)
		{
			MinMax(l,r,&a,&b);
			if(a!=-1) v.push_back(a);
			if(b!=a) v.push_back(b);
			l=a+1;r=b-1;
		}
		sort(v.begin(),v.end());
		for(int i=1;i<v.size();i++) ans=max(ans,v[i]-v[i-1]);
		return ans;
	}
	else
	{
		ll l,r;
		MinMax(0,lim,&l,&r);
		ll block=(r-l+N-2)/(N-1);
		ll last=l,ans=0;
		for(int i=1;i<=N-1;i++)
		{
			ll a,b;
			MinMax(l+block*(i-1)+1,min(l+block*i,lim),&a,&b);
			if(last!=-1 && a!=-1) ans=max(ans,a-last);
			if(b!=-1) last=b;
		}
		return ans;
	}
}

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:13:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while(l<=r && v.size()<N)
                 ~~~~~~~~^~
gap.cpp:21:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=1;i<v.size();i++) ans=max(ans,v[i]-v[i-1]);
               ~^~~~~~~~~
gap.cpp:10:10: warning: unused variable 'c' [-Wunused-variable]
   ll a,b,c=-1,d=-1;
          ^
gap.cpp:10:15: warning: unused variable 'd' [-Wunused-variable]
   ll a,b,c=-1,d=-1;
               ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...