CSES - Datatähti 2017 alku - Results
Submission details
Task:Järjestys
Sender:kapesu8
Submission time:2016-10-12 18:50:06 +0300
Language:C++
Status:COMPILE ERROR

Compiler report

input/code.cpp:6:21: fatal error: Windows.h: No such file or directory
 #include <Windows.h>
                     ^
compilation terminated.

Code

#include <iostream>
#include <cstdlib>
#include <string>
#include <math.h>
#include <vector>
#include <Windows.h>
#include <ctime>

int rand(int i)
{
	return std::rand()%i + 1;
}

#define max(a,b) (a > b ? a : b)

int main()
{
	srand (unsigned(time(NULL)));
	int count;
	std::cin >> count;
	int* numbers = new int[count+1];
	int* numbers_indices = new int[count + 1]; 
	int* klist = new int[count*4];
	int klist_top = 0;
	
	long long proc_counter = 0;

	for(int i = 1;i <= count;i++)
	{
		std::cin >> numbers[i];
		//numbers[i] = count - i + 1;
		numbers_indices[numbers[i]] = i;
	}
	DWORD t = timeGetTime();
	
	
	for(int n = 1;n <= count;n++) //<=2n siirtoa ratkaisuun
	{
		klist[klist_top++] = max(1,numbers_indices[n]-1);
		klist[klist_top++] = numbers_indices[n];
		for(int i = numbers_indices[n]-1;i >= n;i--)
		{
			numbers_indices[numbers[i]]++;
			numbers[i+1] = numbers[i];
		}


		

	}
	klist[klist_top++] = count;
	std::cout << klist_top << '\n';
	//std::cout << "pc: " << proc_counter << " ,time: " << timeGetTime() - t << "ms";
	for(int i = 0;i < klist_top;i++)
	{
		std::cout << klist[i] << ' ';
	}
	/*std::cin.clear();
	std::cin.sync();
	std::cin.get();*/
	return 0;
}