Pagini recente » Cod sursa (job #1011072) | Cod sursa (job #799195) | Cod sursa (job #909382) | Cod sursa (job #2911422) | Cod sursa (job #504323)
Cod sursa(job #504323)
#include <fstream>
#define NMax 100000
using namespace std;
const char IN[]="farfurii.in",OUT[]="farfurii.out";
typedef unsigned long long ull;
ull N,K;
bool ap[NMax];
void Write(ull N,ull sum)
{
ull i,M=1,ax;
for (M=1;M*(M-1)/2<K;M++);
if (M*(M-1)/2!=K) M--;
ofstream fout(OUT);
if (K==M*(M-1)/2)
{
for (i=1;i<=N-M;i++)
fout<<i<<' ';
//fout<<(ax=N-((M+1)*M/2-K))<<" ";
for (i=0;i<M;i++)
if (N-i!=ax)
fout<<N-i<<' ';
}
else
{
for (i=1;i<N-M;i++)
fout<<i<<' ';
fout<<(ax=N-((M+1)*M/2-K))<<' ';
for (i=0;i<=M;i++)
if (N-i!=ax)
fout<<N-i<<' ';
}
fout.close();
}
int main()
{
ifstream fin(IN);
fin>>N>>K;
fin.close();
Write(N,K);
return 0;
}