Cod sursa(job #487178)

Utilizator dacyanMujdar Dacian dacyan Data 24 septembrie 2010 08:59:05
Problema Farfurii Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
using namespace std;

ifstream fin("farfurii.in");
ofstream fout("farfurii.out");

long n, k;
long i, j, s, m, M;
bool ok;

int main()
{
	fin >> n >> k;
	fin.close();
    for (i = 2; i <= n; ++i)
	{
	    if (i * (i-1) > 2 * k) break;
	    M = i * (i-1) / 2;
	    m = i;
        if ( i * (i-1) == 2 * k ) 
		{
			ok = true;
			break;
		}
		
		
	}
	if (ok) 
	{
		for ( i = 1; i <= n - m; ++i)
			fout << i << ' ';
		for ( i = n; i >= n - m + 1; --i)
			fout << i << ' ';
	}
	if (!ok)
	{
		for ( i = 1; i <= n - m - 1; ++i)
			fout << i << ' ';
		fout << n - (k - M) << ' ';
		for ( i = n; i >= n - m ; i--)
			if ( i != n - (k - M)) fout << i << ' ';
              
	 }
    fout << '\n';
	fout.close();
	return 0;
}