Cod sursa(job #109065)
Utilizator | Data | 24 noiembrie 2007 16:44:47 | |
---|---|---|---|
Problema | Farfurii | Scor | 100 |
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);
int n;
long long k;
scanf("%d %lld",&n,&k);
int m;
long long rr;
for (m = 0, rr = ((long long)m*(m+1))/2; rr < k; ++m, rr = ((long long)m*(m+1))/2);
for (int i = 1; i<n-m; ++i) printf("%d ",i);
int x = n-(rr - k);
if (x > 0) printf("%d ",x);
for (int i = n; i>=n-m && i>0; --i)
if (i != x) printf("%d ",i);
printf("\n");
return 0;
}