Cod sursa(job #1626257)

Utilizator qwertyuiTudor-Stefan Berbinschi qwertyui Data 3 martie 2016 00:02:19
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

int N, K;

int main()
{
    fin >>N >>K;

    int m;

	for(m = 1; (m + 1) * m / 2 <= K; ++m) ;

	K -= m*(m-1)/2;

    if (!K)
	{
		for (int i = 1; i <= N-m; ++i)
			fout <<i <<' ';
		for (int i = N; i > N-m; --i)
			fout <<i <<' ';
        fout <<'\n';
	}
	else
	{
        K = m - K;
        ++m;

        for (int i = 1; i <= N-m; ++i)
			fout <<i <<' ';

		fout <<N-K <<' ';

		for (int i = N; i > N-K; --i)
			fout <<i <<' ';

        for (int i = N - K - 1; i > N-m; --i)
			fout <<i <<' ';

		fout <<'\n';
	}

    return 0;

}