Cod sursa(job #739994)

Utilizator Cosmin1490Balan Radu Cosmin Cosmin1490 Data 24 aprilie 2012 13:29:33
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <iostream>
using namespace std;

const char infile[] = "farfurii.in";
const char outfile[] = "farfurii.out";


inline void readInput(int &N, long long &K)
{
	fstream fin(infile, ios::in);

	fin >> N
		>> K;

	fin.close();
}


void solve(int N, long long K, ostream& cout)
{
	long long minN = 1;
	while(K > (minN*(minN-1)/2))
	{
		minN++;
	}

	int toSubstract = (int)((minN*(minN-1)/2) - K);

	for(int i = N; i > minN; i--)
	{
		cout << N - i + 1 << " ";
	}

	cout << N - toSubstract << " ";

	for(int i = 0; i < minN; i++)
	{
		if(  N - i != (N - toSubstract ))
			cout <<  N - i << " ";
	}
	cout << "\n";
}


int main(int argc, char* argv[])
{
	int N = 10;
	long long K = 14;

	readInput(N, K);
	fstream fout(outfile, ios::out);

	//solve(N, K, cout);

	solve(N, K, fout);

	fout.close();
	
}