Pagini recente » Cod sursa (job #578759) | Cod sursa (job #1886594) | Cod sursa (job #2227359) | Cod sursa (job #773459) | Cod sursa (job #2068097)
#include <fstream>
#include <cstdio>
using namespace std;
ifstream fin("farfurii.in");
FILE *fout;
int out_loc;char out_buff[50005];
void write_init(const char*name)
{
fout=fopen(name,"w");
out_loc=0;
}
void write_ch(char ch)
{
if(out_loc==50000)
{
fwrite(out_buff,1,50000,fout);
out_loc=0;
out_buff[out_loc++]=ch;
}
else
{
out_buff[out_loc++]=ch;
}
}
void write_nr(int nr)
{
if(nr<=9)
{
write_ch(nr+'0');
}
else
{
write_nr(nr/10);
write_ch(nr%10+'0');
}
}
void write_appendix()
{
fwrite(out_buff,1,out_loc,fout);
}
int v[100002];
int main()
{
write_init("farfurii.out");
int n,m,s=0;
fin>>n>>m;
int k=1;
while(s<m)
{
s+=k;
k++;
}
int ramas=s-m-k+1;
if(ramas<0)
ramas*=-1;
if(ramas)
{
int co=0;
for(int i=1;i<=n-k+1;i++)
{
v[++co]=i;
}
for(int i=n;i>n-k+1;i--)
{
v[++co]=i;
}
int k1=n-ramas+1;
k=n-k+1;
int aux=v[k];
v[k]=v[k1];
v[k1]=aux;
for(int i=1;i<k1;i++)
{
write_nr(v[i]);
write_ch(' ');
}
for(int i=k1+1;i<=n;i++)
{
write_nr(v[i]);
write_ch(' ');
}
write_nr(v[k1]);
write_appendix();
}
else
{
for(int i=1;i<=n-k;i++)
{
write_nr(i);
write_ch(' ');
}
for(int i=n;i>=n-k+1;i--)
{
write_nr(i);
write_ch(' ');
}
write_appendix();
}
return 0;
}