Cod sursa(job #200353)
| Utilizator | Data | 23 iulie 2008 14:56:04 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <stdio.h>
long long n,k,i,ii,x;
int main()
{
freopen("farfurii.in","rt",stdin);
freopen("farfurii.out","wt",stdout);
scanf("%lld %lld",&n,&k);
//cazul 1
//caut primul i pentru care i*(i-1)/2>=k
for(i=1;i<=n;i++)
if (i*(i-1)/2>=k) break;
//afisez de la 1 pana la n-i
for(ii=1;ii<=n-i;ii++)
printf("%lld ",ii);
//cazul 2
x=n-(i*(i-1)/2-k);
printf("%lld ",x);
//cazul 3
//afisez de la n pana la n-i fara x
for(ii=n;ii>n-i;ii--)
if (ii!=x)
printf("%lld ",ii);
return 0;
}