Submission #514769


Source Code Expand

#include <iostream>
#include <stdio.h>
#include <set>
#include <map>
#include <list>
#include <vector>
#include <algorithm>
#include <cmath>
#include <limits.h>
#include <string>
#include <queue>
#include <functional>
#include <stack>
#include <complex>
#include <stdlib.h>
#include <string.h>
using namespace std;

namespace{
	#define		CAST( T, val )		( (T)( val ) )
	#define		CASE( lb )			break; case lb:
	#define		CASE_CONTINUE( lb )	case lb:
	#define		CASE_DEFAULT		break; default:
	#define		For( i, s )			for(int i= 0; i< (int)s; i++)
	#define		ForA( i, a, s )		for(int i= (int)a; i< (int)s; i++)
	#define		ForSize( i, s )		for(int i= 0, size= (int)s; i< size; i++)
	#define		ForSizeA( i, a, s )	for(int i= (int)a, size= (int)s; i< size; i++)
	#define		ForItr( itr, con )	for(auto itr= con.begin(); itr!= con.end(); itr++)
	#define		ForStr( i, str )	for(int i= 0; str[i]; i++)
	#define		GOTO( lb )			goto lb
	#define		LABEL( lb )			lb:
	#define		ALL( con )			con.begin(), con.end()

	typedef		long long		LLint;
	typedef		unsigned int	Uint;
	typedef		unsigned char	Uchar;
	typedef		unsigned short	Ushort;

	const int Ten5 = 100000;		//	10^5
	const int Ten6 = 1000000;	//	10^6
	const double EPS = 0.00000000023283064365386962890625;	//	2^-32
	template <typename T> class priority_queue_less : public priority_queue < T, vector<T>, greater<T> > {};
}


bool isCanClear(const int N, const int t, const int* L, const int R)
{
	int r= 0;
	For( n, N ){
		const int l= max( L[n]-r, 0 );
		if( l > t ) return false;

		r= max( t-2*l, ( t-l ) >> 1 );
	}

	return r>=R;
}
int main()
{
	int N, L[Ten5], R;
	LLint T;
	cin>> T>> N;
	
	int M, p= 0;
	For( n, N ){
		cin>> M;
		L[n]= M-p-1;
		p= M;
	}
	R= T-M;
	T= T/2*3+1;

	LLint bot= 0, top= T;
	while(1){
		if( top <= bot ) break;
		const LLint mid= ( top +bot ) >> 1;

		if( isCanClear( N, mid, L, R ) ){
			top= mid;
		}else{
			bot= mid+1;
		}
	}

	cout<< bot<< endl;

	return 0;
}

Submission Info

Submission Time
Task D - 壊れた電車
User BGSC
Language C++11 (GCC 4.9.2)
Score 100
Code Size 2015 Byte
Status AC
Exec Time 112 ms
Memory 1316 KiB

Judge Result

Set Name Sample Dataset1 Dataset2 Dataset3
Score / Max Score 0 / 0 20 / 20 60 / 60 20 / 20
Status
AC × 2
AC × 17
AC × 36
AC × 58
Set Name Test Cases
Sample sample-01.txt, sample-02.txt
Dataset1 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt
Dataset2 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt
Dataset3 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 03-20.txt, 03-21.txt, 03-22.txt
Case Name Status Exec Time Memory
01-01.txt AC 28 ms 924 KiB
01-02.txt AC 28 ms 796 KiB
01-03.txt AC 26 ms 920 KiB
01-04.txt AC 28 ms 928 KiB
01-05.txt AC 27 ms 924 KiB
01-06.txt AC 30 ms 856 KiB
01-07.txt AC 27 ms 920 KiB
01-08.txt AC 26 ms 924 KiB
01-09.txt AC 27 ms 800 KiB
01-10.txt AC 27 ms 932 KiB
01-11.txt AC 26 ms 920 KiB
01-12.txt AC 28 ms 932 KiB
01-13.txt AC 26 ms 924 KiB
01-14.txt AC 25 ms 928 KiB
01-15.txt AC 26 ms 920 KiB
02-01.txt AC 28 ms 924 KiB
02-02.txt AC 30 ms 792 KiB
02-03.txt AC 26 ms 924 KiB
02-04.txt AC 33 ms 1004 KiB
02-05.txt AC 92 ms 1256 KiB
02-06.txt AC 59 ms 996 KiB
02-07.txt AC 92 ms 1304 KiB
02-08.txt AC 88 ms 1124 KiB
02-09.txt AC 86 ms 1256 KiB
02-10.txt AC 27 ms 916 KiB
02-11.txt AC 90 ms 1248 KiB
02-12.txt AC 92 ms 1256 KiB
02-13.txt AC 86 ms 1252 KiB
02-14.txt AC 88 ms 1248 KiB
02-15.txt AC 91 ms 1184 KiB
02-16.txt AC 90 ms 1256 KiB
02-17.txt AC 89 ms 1256 KiB
02-18.txt AC 89 ms 1188 KiB
02-19.txt AC 90 ms 1256 KiB
03-01.txt AC 28 ms 924 KiB
03-02.txt AC 27 ms 916 KiB
03-03.txt AC 27 ms 808 KiB
03-04.txt AC 109 ms 1260 KiB
03-05.txt AC 54 ms 1000 KiB
03-06.txt AC 66 ms 1060 KiB
03-07.txt AC 108 ms 1260 KiB
03-08.txt AC 98 ms 1120 KiB
03-09.txt AC 28 ms 928 KiB
03-10.txt AC 106 ms 1252 KiB
03-11.txt AC 108 ms 1184 KiB
03-12.txt AC 52 ms 932 KiB
03-13.txt AC 99 ms 1192 KiB
03-14.txt AC 108 ms 1248 KiB
03-15.txt AC 95 ms 1312 KiB
03-16.txt AC 109 ms 1308 KiB
03-17.txt AC 101 ms 1188 KiB
03-18.txt AC 111 ms 1252 KiB
03-19.txt AC 110 ms 1256 KiB
03-20.txt AC 112 ms 1256 KiB
03-21.txt AC 111 ms 1316 KiB
03-22.txt AC 110 ms 1252 KiB
sample-01.txt AC 27 ms 916 KiB
sample-02.txt AC 27 ms 924 KiB