Cod sursa(job #109048)
Utilizator | Data | 24 noiembrie 2007 15:59:19 | |
---|---|---|---|
Problema | Farfurii | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <cstdio>
int main() {
freopen("farfurii.in","rt",stdin);
freopen("farfurii.out","wt",stdout);
long long n,k;
scanf("%lld %lld",&n,&k);
long long m;
for (m = 0; (m*(m+1))/2 < k; ++m);
for (long long i = 1; i<m-1; ++i) printf("%d ",i);
long long x;
if ((m*(m+1))/2 == k) {
x = -1;
} else {
x = n-((m*(m+1))/2 - k);
printf("%lld ",x);
}
for (long long i = n; i>=m-1; --i)
if (i != x) printf("%lld ",i);
printf("\n");
}