Pagini recente » Cod sursa (job #977041) | Cod sursa (job #977044) | Cod sursa (job #509092) | Monitorul de evaluare | Cod sursa (job #2098535)
#include <fstream>
#define VAL 100005
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
long long N, K, i, j;
long long v[VAL], poz;
int main()
{
fin >> N >> K;
if (K==0)
{
for (i=1; i<=N; i++)
fout << i << " ";
return 0;
}
else
{
for (i=1; i<=N; i++)
if (i*(i-1) / 2>K)
break;
poz=N-i;
for (j=N; j>N-i; j--)
v[j]=N-i+(N-j)+1;
for (j=1; j<=N-i; j++)
v[j]=j;
i=i*(i-1) / 2;
i-=K;
poz+=i+1;
for (j=1; j<=i; j++)
{
swap(v[poz], v[poz-1]);
poz--;
}
for (i=1; i<=N; i++)
fout << v[i] << " ";
}
fin.close();
fout.close();
return 0;
}