Cod sursa(job #865424)

Utilizator ELHoriaHoria Cretescu ELHoria Data 26 ianuarie 2013 14:47:23
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#define i64 long long

using namespace std;

ifstream cin("farfurii.in");
ofstream cout("farfurii.out");

int N;
i64 K;

int main()
{
	cin>>N>>K;
	for(int i = 1;i <= N && K > 0;i++) {
		i64 d = N - i;
		i64 maxD = (d*(d - 1))>>1ll;
		if(maxD > K) {
			cout<<i<<" ";
		}
		else
		if(maxD == K) {
			cout<<i<<" ";
			for(int j = N;j > i;j--) {
				cout<<j<<" ";
			}
			K = 0;
		} else {
			cout<<i + K - maxD<<" ";
			for(int j = N;j >= i;j--) {
				if(j != i + K - maxD) {
					cout<<j<<" ";
				}
			}
			K = 0;
		}
	}
	return 0;
}