Pagini recente » Cod sursa (job #1577758) | Cod sursa (job #419382) | Cod sursa (job #256156) | Cod sursa (job #438555) | Cod sursa (job #2506433)
#include<bits/stdc++.h>
using namespace std;
ifstream in("farfurii.in");
ofstream out("farfurii.out");
int n,k;
deque<int> values;
void read()
{
in>>n>>k;
for(int i=0; i<n; i++)
{
values.push_back(n-i);
cout<<values[i]<<" ";
}
}
void prt_deque()
{
for(int i=0; i<n; i++)
out<<values[i]<<" ";
out<<endl;
}
void solve()
{
int perm_number=(n-1)*(n)/2;
int index=1;
int sett=0;
while(perm_number!=k)
{
int here=values[n-index];
int before=n-index-sett;
int after=index-1;
int total=before+after;
int perm_now=(total-1)*(total)/2+after;
if(perm_now>=k)
{
perm_number=perm_now;
values.erase(values.end()-index);
values.insert(values.begin()+sett,here);
sett++;
}
else
{
index++;
}
}
prt_deque();
}
int main()
{
read();
solve();
}