Submission #6424521


Source Code Expand

unittest
{
	assert( [ "5", "4", "3", "1", "2", "1" ].parse.expand.solve == 2 );
	assert( [ "7", "93", "249", "150", "958", "442", "391", "25" ].parse.expand.solve == 3 );
	assert( [ "4", "100", "100", "100", "100" ].parse.expand.solve == 1 );
	assert( [ "6", "5", "10", "15", "20", "25", "30" ].parse.expand.solve == 6 );
	assert( [ "15", "3", "1", "4", "1", "5", "9", "2", "6", "5", "3", "5", "8", "9", "7", "9" ].parse.expand.solve == 6 );
}



import std.conv;
import std.range;
import std.stdio;
import std.typecons;

void main()
{
	stdin.byLineCopy.parse.expand.solve.writeln;
}

auto parse( Range )( Range input )
if( isInputRange!Range && is( ElementType!Range == string ) )
{
	auto n = input.front.to!( long );
	auto ws = new long[ n ];
	foreach( ref w; ws )
	{
		input.popFront;
		w = input.front.to!( long );
	}
	return tuple( ws );
}

auto solve( long[] ws )
{
	long[] ds;
	foreach( w; ws )
	{
		auto pi = -1L;
		auto pd = long.max;
		foreach( i, d; ds )
		{
			if( d < w || pd < d ) continue;
			pi = i;
			pd = d;
		}
		if( 0 <= pi ) ds[ pi ] = w;
		else          ds ~= w;
	}
	return ds.length;
}

Submission Info

Submission Time
Task C - 積み重ね
User KouMikage
Language D (DMD64 v2.070.1)
Score 100
Code Size 1162 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 44
Set Name Test Cases
All 00_min.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 02_maxrnd_00.txt, 02_maxrnd_01.txt, 02_maxrnd_02.txt, 02_maxrnd_03.txt, 02_maxrnd_04.txt, 02_maxrnd_05.txt, 02_maxrnd_06.txt, 02_maxrnd_07.txt, 02_maxrnd_08.txt, 02_maxrnd_09.txt, 02_maxrnd_10.txt, 02_maxrnd_11.txt, 02_maxrnd_12.txt, 02_maxrnd_13.txt, 02_maxrnd_14.txt, 02_maxrnd_15.txt, 02_maxrnd_16.txt, 02_maxrnd_17.txt, 02_maxrnd_18.txt, 02_maxrnd_19.txt, 03_increase_00.txt, 03_increase_01.txt, 03_increase_02.txt, 04_decrease_00.txt, 04_decrease_01.txt, 04_decrease_02.txt, 05_same_00.txt, 05_same_01.txt
Case Name Status Exec Time Memory
00_min.txt AC 1 ms 256 KB
00_sample_01.txt AC 1 ms 256 KB
00_sample_02.txt AC 1 ms 256 KB
00_sample_03.txt AC 1 ms 256 KB
00_sample_04.txt AC 1 ms 256 KB
00_sample_05.txt AC 1 ms 256 KB
01_rnd_00.txt AC 1 ms 256 KB
01_rnd_01.txt AC 1 ms 256 KB
01_rnd_02.txt AC 1 ms 256 KB
01_rnd_03.txt AC 1 ms 256 KB
01_rnd_04.txt AC 1 ms 256 KB
01_rnd_05.txt AC 1 ms 256 KB
01_rnd_06.txt AC 1 ms 256 KB
01_rnd_07.txt AC 1 ms 256 KB
01_rnd_08.txt AC 1 ms 256 KB
01_rnd_09.txt AC 1 ms 256 KB
02_maxrnd_00.txt AC 1 ms 256 KB
02_maxrnd_01.txt AC 1 ms 256 KB
02_maxrnd_02.txt AC 1 ms 256 KB
02_maxrnd_03.txt AC 1 ms 256 KB
02_maxrnd_04.txt AC 1 ms 256 KB
02_maxrnd_05.txt AC 1 ms 256 KB
02_maxrnd_06.txt AC 1 ms 256 KB
02_maxrnd_07.txt AC 1 ms 256 KB
02_maxrnd_08.txt AC 1 ms 256 KB
02_maxrnd_09.txt AC 1 ms 256 KB
02_maxrnd_10.txt AC 1 ms 256 KB
02_maxrnd_11.txt AC 1 ms 256 KB
02_maxrnd_12.txt AC 1 ms 256 KB
02_maxrnd_13.txt AC 1 ms 256 KB
02_maxrnd_14.txt AC 1 ms 256 KB
02_maxrnd_15.txt AC 1 ms 256 KB
02_maxrnd_16.txt AC 1 ms 256 KB
02_maxrnd_17.txt AC 1 ms 256 KB
02_maxrnd_18.txt AC 1 ms 256 KB
02_maxrnd_19.txt AC 1 ms 256 KB
03_increase_00.txt AC 1 ms 256 KB
03_increase_01.txt AC 1 ms 256 KB
03_increase_02.txt AC 1 ms 256 KB
04_decrease_00.txt AC 1 ms 256 KB
04_decrease_01.txt AC 1 ms 256 KB
04_decrease_02.txt AC 1 ms 256 KB
05_same_00.txt AC 1 ms 256 KB
05_same_01.txt AC 1 ms 256 KB