Cod sursa(job #739992)

Utilizator Cosmin1490Balan Radu Cosmin Cosmin1490 Data 24 aprilie 2012 12:59:03
Problema Farfurii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <iostream>
using namespace std;

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


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

	fin >> N
		>> K;

	fin.close();
}


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

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

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

	cout << N - minN + toSubstract + 1 << " ";

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

int main(int argc, char* argv[])
{
	int N = 7;
	int K = 8;

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

	//solve(N, K, cout);
	solve(N, K, fout);
	fout.close();
	
}