Submission #7143460


Source Code Expand

unittest
{
	assert( [ "xyz", "4" ].parse.expand.solve == "aya" );
	assert( [ "a", "25" ].parse.expand.solve == "z" );
	assert( [ "codefestival", "100" ].parse.expand.solve == "aaaafeaaivap" );
}



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 s = input.front.to!( dchar[] );
	input.popFront;
	auto k = input.front.to!( long );
	return tuple( s, k );
}

auto solve( dchar[] s, long k )
{
	foreach( ref c; s )
	{
		auto i = ( 'z' - c + 1 ) % 26;
		if( k < i ) continue;
		c = 'a';
		k -= i;
	}
	auto i = ( 'z' - s[ $ - 1 ] + 1 ) % 26;
	if( k < i ) s[ $ - 1 ] += k;
	else        s[ $ - 1 ]  = 'a' + ( k - i ) % 26;
	return s;
}

Submission Info

Submission Time
Task C - Next Letter
User KouMikage
Language D (DMD64 v2.070.1)
Score 400
Code Size 865 Byte
Status AC
Exec Time 5 ms
Memory 3096 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 27
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt
Case Name Status Exec Time Memory
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt AC 1 ms 256 KB
1_00.txt AC 1 ms 256 KB
1_01.txt AC 1 ms 256 KB
1_02.txt AC 1 ms 256 KB
1_03.txt AC 1 ms 256 KB
1_04.txt AC 1 ms 256 KB
1_05.txt AC 1 ms 256 KB
1_06.txt AC 5 ms 3096 KB
1_07.txt AC 4 ms 1048 KB
1_08.txt AC 4 ms 1052 KB
1_09.txt AC 4 ms 928 KB
1_10.txt AC 4 ms 1048 KB
1_11.txt AC 5 ms 2720 KB
1_12.txt AC 4 ms 928 KB
1_13.txt AC 4 ms 928 KB
1_14.txt AC 4 ms 1052 KB
1_15.txt AC 4 ms 1052 KB
1_16.txt AC 4 ms 1052 KB
1_17.txt AC 4 ms 1052 KB
1_18.txt AC 4 ms 1052 KB
1_19.txt AC 5 ms 2840 KB
1_20.txt AC 4 ms 2592 KB
1_21.txt AC 4 ms 1048 KB
1_22.txt AC 4 ms 1052 KB
1_23.txt AC 4 ms 1052 KB