Submission #667336

#TimeUsernameProblemLanguageResultExecution timeMemory
667336MahdiGap (APIO16_gap)C++17
70 / 100
70 ms3288 KiB
#include<bits/stdc++.h>
#include "gap.h"
using namespace std;
#define all(v) v.begin(), v.end()
typedef long long ll;

long long findGap(int T, int N){
	if(T==1){
		vector<ll>v;
		ll a=-1, b=1e18+1, c, d;
		for(int i=0;i<N;i+=2){
			if(a+1>b-1){
				return 1/0;
			}
			MinMax(a+1, b-1, &c, &d);
			if(c==-1)
				return 1/0;
			v.push_back(c);
			v.push_back(d);
			a=c;
			b=d;
		}
		sort(all(v));
		ll ans=0;
		for(int i=1;i<v.size();++i)
			ans=max(ans, v[i]-v[i-1]);
		return ans;
	}
	ll a, b;
	MinMax(0, 1e18, &a, &b);
	ll c=(b-a+N-2)/(N-1);
	ll ans=c;
	vector<ll>v;
	ll d, e;
	for(int i=1;i<N;++i){
		MinMax(a+(i-1)*c+1, a+i*c, &d, &e);
		if(d!=-1){
			v.push_back(d);
			v.push_back(e);
		}
	}
	v.push_back(a);
	sort(all(v));
	for(int i=1;i<v.size();++i)
		ans=max(ans, v[i]-v[i-1]);
	return ans;
}

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:13:13: warning: division by zero [-Wdiv-by-zero]
   13 |     return 1/0;
      |            ~^~
gap.cpp:17:13: warning: division by zero [-Wdiv-by-zero]
   17 |     return 1/0;
      |            ~^~
gap.cpp:25:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |   for(int i=1;i<v.size();++i)
      |               ~^~~~~~~~~
gap.cpp:44:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |  for(int i=1;i<v.size();++i)
      |              ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...