Cod sursa(job #4717)

Utilizator tvladTataranu Vlad tvlad Data 6 ianuarie 2007 13:03:27
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>

int main() {
	freopen("farfurii.in","r",stdin);
	freopen("farfurii.out","w",stdout);

	int n, k;
	scanf("%d %d\n",&n,&k);

	int t = 1;
	while (t*(t+1)/2 < k) {
		++t;
	}
	int s = t*(t+1)/2;
	if (t*(t+1)/2 == k) {
		for (int i = 1; i<=n-t; ++i) {
			printf("%d ",i);
		}
		for (int i = n; i>n-t; --i) {
			printf("%d ",i);
		}
		printf("\n");
		return 0;
	} else {
		int x = s-k;
		for (int i = 1; i<=n-t-1; ++i) {
			printf("%d ",i);
		}
		for (int i = n; i>=n-x+1; --i) {
			printf("%d ",i);
		}
		printf("%d ",n-t);
		for (int i = n-x; i>=n-t+1; --i) {
			printf("%d ",i);
		}
		return 0;
	}
}