Cod sursa(job #1446717)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 2 iunie 2015 17:29:59
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
using namespace std;

constexpr int sum_of(const int n){
	return n*(n+1)/2; }

int main(){
	ifstream f("farfurii.in");
	ofstream g("farfurii.out");
	int n, k;
	f >> n >> k;
	int trebuie_compacte = n;
	for( ; sum_of(trebuie_compacte-1) > k; --trebuie_compacte);
	const int numar_scoase_altfel = k-sum_of(trebuie_compacte-1),
		pivot = n - trebuie_compacte + numar_scoase_altfel;
	for(int i = 1; i+trebuie_compacte < n; ++i){
		g << i << ' '; }
	g << pivot << ' ';
	for(int i = n; i > pivot; --i){
		g << i << ' '; }
	for(int i = pivot-1; i+trebuie_compacte >= n; --i){
		g << i << ' '; }
	return 0; }