Cod sursa(job #467757)
Utilizator | Mihai-Alexandru Dusmanu dushmi | Data | 30 iunie 2010 13:26:12 |
---|---|---|---|
Problema | Farfurii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include<cstdio>
const int N=1<<17;
long long p,k,x,n;
bool frecv[N];
void read()
{
freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
scanf("%lld%lld",&n,&k);
}
void make()
{
for(int i=1;i<=n;++i)
{
if((n-i)*(n-i-1)/2<k)
{
x=k-(n-i)*(n-i-1)/2;
frecv[x+i]=!frecv[x+i];
printf("%d ",x+i);
return;
}
frecv[i]=1;
printf("%d ",i);
}
}
void afis()
{
for(int i=n;i>=1;--i)
if(!frecv[i])
printf("%d ",i);
}
int main ()
{
read();
make();
afis();
return 0;
}