CSES - Datatähti 2024 alku - Results
Submission details
Task:Säähavainnot
Sender:Oliver2
Submission time:2023-11-01 18:12:29 +0200
Language:C++ (C++17)
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttimescore
#10.00 s0details
#20.00 s0details
#30.00 s0details
#40.00 s0details
#50.00 s0details
#60.00 s0details
#70.00 s0details
#80.00 s0details

Code

#include <iostream> 
#include <string>
#include <cstring>
using namespace std;

char bWord[1000], mWord[1000], eWord[1000], input[20], tem[1000];
string generation;
bool done;
int findDigit(const char inp[100]) {
	for (int i = 0; i < 1000; i++)
	{ 
		if (isdigit(inp[i])) return i; 
	}
	return -1;
}
string runCycle(const char inp[1000])
{
	memset(bWord, 0, sizeof bWord);
	memset(mWord, 0, sizeof mWord);
	memset(eWord, 0, sizeof eWord);
	int numberIndex = findDigit(inp);
	if (numberIndex == -1) {
		done = true;
		return inp;
	}
	
	for (int i = 0; i < 1000; i++) {
		if (i < numberIndex) 
		{
			bWord[i] = inp[i];
		}
		else if (i < (numberIndex + inp[numberIndex] - 48)) {
			mWord[i - numberIndex] = inp[i + 1];
			eWord[i - numberIndex] = inp[i + 1];
		}
		else
		{
			eWord[i - numberIndex] = inp[i + 1];
		}
	}
	//cout << " \n \n \n Beginning word: " << bWord << endl << "Insert Word: " << mWord << endl << "Ending word: " << eWord << endl;
	return string(bWord) + string(mWord) + string(eWord);
}
int main() {
	cin >> input;
	
	generation = runCycle(input);
	for (int i = 0; i < 500; i++) 
	{
		memset(tem, 0, sizeof tem);
		for (int j = 0; j < int(generation.length()); j++) tem[j] = generation[j];
		
		generation = runCycle(tem);
		if (done == true) {
			cout << generation;
			return 0;
		}
	}
	cout << generation;
	return 0;
}

Test details

Test 1

Verdict:

input
1000
-0.4 -0.1 -0.2 -0.3 -0.4 -0.5 ...

correct output
0.4 0.4 0.5 0.8 0.9 1.1 1.3 1....

user output
(empty)

Test 2

Verdict:

input
1000
2.9 2.9 2.9 2.1 2.6 2 2 2.2 2....

correct output
2.3 1.6 1.5 1.1 1 0.7 0.6 0.8 ...

user output
(empty)

Test 3

Verdict:

input
1000
6.6 6 6.4 6 4.6 4.6 4.2 4.3 4....

correct output
10 10.9 10.3 10.1 9.1 7.3 5.7 ...

user output
(empty)

Test 4

Verdict:

input
1000
19.4 20.2 19.1 18.9 18.3 17.3 ...

correct output
18 18.2 17 17.5 17.2 16.2 12 8...

user output
(empty)

Test 5

Verdict:

input
1000
-5.7 -5.8 -5.8 -5.9 -7.1 -6.9 ...

correct output
-4.2 -4.1 -4 -3.8 -3.5 -3.2 -3...

user output
(empty)

Test 6

Verdict:

input
1000
14.8 14.8 15.4 12.9 11.8 9.7 9...

correct output
11.8 11 11.6 10.8 10.4 10.4 10...

user output
(empty)

Test 7

Verdict:

input
1000
0.7 1 2 1.4 0.6 -0.4 -0.9 -0.7...

correct output
-1.3 -0.5 -0.6 -1 -3.2 -7.2 -6...

user output
(empty)

Test 8

Verdict:

input
1000
15.1 15.3 14.9 14.4 14.4 13.7 ...

correct output
15.6 15.9 16 15.2 14.6 14.4 13...

user output
(empty)