Cod sursa(job #487220)

Utilizator dacyanMujdar Dacian dacyan Data 24 septembrie 2010 13:48:44
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 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 ) 
		{
			ok = true;
			break;
		}
        if (i * (i-1) > 2 * k)
	    {
             M = i * (i-1) / 2;
             m = i;
             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; ++i)
			fout << i << ' ';
		fout << n - (M - k) << ' ';
		for ( i = n; i > n - m ; i--)
			if ( i != n - (M - k)) fout << i << ' ';
              
	 }
    fout << '\n';
	fout.close();
	return 0;
}