제출 #1332098

#제출 시각아이디문제언어결과실행 시간메모리
1332098jumpGap (APIO16_gap)C++20
컴파일 에러
0 ms0 KiB
#include "gap.h"
#include <bits/stdc++.h>
#define ll long long
long long findGap(int T, int N)
{
	std::vector<int> all;
	if(N==2){
		ll v1=0-1,v2=1e18+1;
		MinMax(v1+1,v2-1,&v1,&v2);
		return v2-v1;
	}
	if(T==1){
		std::vector<ll> left;
		std::vector<ll> right;
		ll v1=0-1,v2=1e18+1;
		while(left.size()+right.size()<N&&v1!=v2){
			MinMax(v1+1,v2-1,&v1,&v2);
			// std::cout << v1+1 << ' ' << v2-1 << '\n';
			if(v1==-1 || v2==-1)break;
			left.push_back(v1);
			right.push_back(v2);
			all.push_back(v1);all.push_back(v2);
		}
		// ll best=0;
		// for(int i=0;i<left.size()-1;i++){
		// 	ll diff = left[i+1]-left[i];
		// 	best=std::max(diff,best);
		// }
		// for(int i=0;i<right.size()-1;i++){
		// 	ll diff = right[i]-right[i+1];
		// 	best=std::max(diff,best);
		// }
		// // std::cout << '\n';
		// // for(int i=0;i<left.size();i++){
		// // 	std::cout << left[i] << ' ';
		// // }
		// // for(int i=right.size()-1;i>=0;i--){
		// // 	std::cout << right[i] << ' ';
		// // }
		// // std::cout << '\n';
		// best=std::max(best,right.back()-left.back());
		// return best;
	}
	else{
		ll v1=0-1,v2=1e18+1,high=0,low=0;
		MinMax(v1+1,v2-1,&v1,&v2);
		all.push_back(v1);all.push_back(v2);
		high=v2;low=v1;
		ll dis = v2-v1;
		ll meandis = (dis/N) + 1;
		ll test1 =v1+1,test2 = v1+meandis;
		ll last=v1;
		ll best = 0;
		while(test1<high){
			MinMax(test1,test2,&v1,&v2);
			if(v1!=-1)
			best=std::max((ll)best,v1-last);
			if(v2!=-1)
			last=v2;
			all.push_back(v1);all.push_back(v2);
			//best=std::max(best,v2-v1);// not really needed
			test1+=meandis;
			test2+=meandis;
		}
	}
	int ans=0;
	sort(all.begin(),all.end());
    for(int i = 0;i < all.size()-1;i++) ans = std::max(ans,a[i+1]-a[i]);
	return ans;
}

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

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:68:60: error: 'a' was not declared in this scope
   68 |     for(int i = 0;i < all.size()-1;i++) ans = std::max(ans,a[i+1]-a[i]);
      |                                                            ^