Pagini recente » Cod sursa (job #1549832) | Cod sursa (job #2478196) | Cod sursa (job #398481) | Cod sursa (job #2810032) | Cod sursa (job #2530088)
#include <iostream>
#include<fstream>
#define N 200005
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
int a[N];
int n,m;
//1 2 7 6 5 4 3
void print()
{
int i;
for(i=1;i<=n;++i)
fout<<a[i]<<" ";
}
int main()
{
int i,sum,x,poz;
fin>>n>>m;
i=1;
while(i*(i-1)/2<=m)
i++;
sum=i;
//inversam ultimele sum caractere
for(i=1;i<=n-sum;++i)
a[i]=i;
x = n;
poz = n - sum + 1;
for(i=n-sum+1;i<=n;++i)
a[i]=x--;
//print();
sum = sum * (sum - 1) / 2;
if(sum > m)//trebuie sa schimbam iar ultimul
{
sum = sum - m;
//il mut la stanga pe elem de pe la sum la poz
sum=sum + poz;
for(i = sum; i > poz; --i)
swap(a[i],a[i-1]);
}
print();
return 0;
}